del: clean template

This commit is contained in:
2025-03-16 11:33:19 +07:00
parent 3f8b548cd0
commit eb50e9a2ac
85 changed files with 737 additions and 16392 deletions

82
.idea/workspace.xml generated
View File

@@ -6,7 +6,87 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="0f2c8145-9000-45fe-a871-9ff0914e0e13" name="Changes" comment=""> <list default="true" id="0f2c8145-9000-45fe-a871-9ff0914e0e13" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/internal/utils/sorting.go" beforeDir="false" afterPath="$PROJECT_DIR$/internal/utils/sorting.go" afterDir="false" /> <change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/models/index.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/models/models.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/customerservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/index.ts" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/bindings/app/internal/services/index.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/models.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/orderservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/preptaskservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/producttypeservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/shiftservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/taskservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/teamtaskservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/teamtypeservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/workareaservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/workerservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/workshopservice.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/utils/index.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/utils/models.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/customer/CustomerScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/customer/customer.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/order/OrderScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/order/order.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/pages/Index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/src/pages/Index.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/preptask/PreptaskScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/preptask/preptask.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/producttype/ProducttypeScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/producttype/producttype.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/shift/ShiftScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/shift/shift.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/task/TaskScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/task/task.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/teamtask/TeamtaskScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/teamtask/teamtask.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/teamtype/TeamtypeScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/teamtype/teamtype.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/workarea/WorkareaScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/workarea/workarea.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/worker/WorkerScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/worker/worker.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/workshop/WorkshopScheme.vue" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/src/workshop/workshop.service.ts" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/customers.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/customers.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/orders.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/orders.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/prep_tasks.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/prep_tasks.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/product_types.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/product_types.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/shifts.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/shifts.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/tasks.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/tasks.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/team_tasks.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/team_tasks.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/team_types.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/team_types.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/work_areas.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/work_areas.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/workers.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/workers.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/workshops.gen.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/dal/workshops.gen_test.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/database/database.go" beforeDir="false" afterPath="$PROJECT_DIR$/internal/database/database.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/internal/models/models.go" beforeDir="false" afterPath="$PROJECT_DIR$/internal/models/models.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/customer.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/default_data.go" beforeDir="false" afterPath="$PROJECT_DIR$/internal/services/default_data.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/excel.go" beforeDir="false" afterPath="$PROJECT_DIR$/internal/services/excel.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/order.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/preptask.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/producttype.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/services.go" beforeDir="false" afterPath="$PROJECT_DIR$/internal/services/services.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/shift.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/task.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/teamtask.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/teamtype.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/workarea.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/worker.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/internal/services/workshop.go" beforeDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -16,13 +16,11 @@
- [Node.js](https://nodejs.org/en) - [Node.js](https://nodejs.org/en)
- [Golang](https://go.dev/dl/) - [Golang](https://go.dev/dl/)
- VSCode или Goland - [VSCode](https://code.visualstudio.com/) или [Goland](https://cloud.gogacoder.ru/s/pZJzpeNSprmWDB8)
- [UPX](https://github.com/upx/upx/releases/latest) - для сжатия. - ~~[UPX](https://github.com/upx/upx/releases/latest) - для сжатия.~~
**Необходимо зазеркалировать с Github и добавить в PATH!!!**
- [Git](https://git-scm.com/) - [Git](https://git-scm.com/)
- Wails3 - Wails3
- MinGw-64: https://jmeubank.github.io/tdm-gcc/ - MinGw-64 (необязательно): https://jmeubank.github.io/tdm-gcc/
**Необходимо зазеркалировать с Github!!!**
## Разработка ## Разработка
@@ -51,7 +49,7 @@ go install -v github.com/wailsapp/wails/v3/cmd/wails3@latest
go install github.com/opbnq-q/nto-cli@latest go install github.com/opbnq-q/nto-cli@latest
``` ```
```shell ```shell
go install git.gogacoder.ru/NTO/crudgen@latest go install git.gogacoder.ru/NTO/crudgen/cmd/crudgen@latest
``` ```
## Сборка ## Сборка

View File

@@ -1,4 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
export * from "./models.js";

View File

@@ -1,629 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "@wailsio/runtime";
export class Customer {
"Id": number;
"Title": string;
"Contact": string;
"Orders": Order[];
/** Creates a new Customer instance. */
constructor($$source: Partial<Customer> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("Title" in $$source)) {
this["Title"] = "";
}
if (!("Contact" in $$source)) {
this["Contact"] = "";
}
if (!("Orders" in $$source)) {
this["Orders"] = [];
}
Object.assign(this, $$source);
}
/**
* Creates a new Customer instance from a string or object.
*/
static createFrom($$source: any = {}): Customer {
const $$createField3_0 = $$createType1;
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("Orders" in $$parsedSource) {
$$parsedSource["Orders"] = $$createField3_0($$parsedSource["Orders"]);
}
return new Customer($$parsedSource as Partial<Customer>);
}
}
export class Order {
"Id": number;
"Status": string;
"Description": string;
"ProductTypeId": number;
"ProductType": ProductType;
"ProductAmount": number;
"CustomerId": number;
"Customer": Customer;
"Tasks": Task[];
"CreatedAt": number;
"DeadlineDate": number;
/** Creates a new Order instance. */
constructor($$source: Partial<Order> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("Status" in $$source)) {
this["Status"] = "";
}
if (!("Description" in $$source)) {
this["Description"] = "";
}
if (!("ProductTypeId" in $$source)) {
this["ProductTypeId"] = 0;
}
if (!("ProductType" in $$source)) {
this["ProductType"] = (new ProductType());
}
if (!("ProductAmount" in $$source)) {
this["ProductAmount"] = 0;
}
if (!("CustomerId" in $$source)) {
this["CustomerId"] = 0;
}
if (!("Customer" in $$source)) {
this["Customer"] = (new Customer());
}
if (!("Tasks" in $$source)) {
this["Tasks"] = [];
}
if (!("CreatedAt" in $$source)) {
this["CreatedAt"] = 0;
}
if (!("DeadlineDate" in $$source)) {
this["DeadlineDate"] = 0;
}
Object.assign(this, $$source);
}
/**
* Creates a new Order instance from a string or object.
*/
static createFrom($$source: any = {}): Order {
const $$createField4_0 = $$createType2;
const $$createField7_0 = $$createType3;
const $$createField8_0 = $$createType5;
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("ProductType" in $$parsedSource) {
$$parsedSource["ProductType"] = $$createField4_0($$parsedSource["ProductType"]);
}
if ("Customer" in $$parsedSource) {
$$parsedSource["Customer"] = $$createField7_0($$parsedSource["Customer"]);
}
if ("Tasks" in $$parsedSource) {
$$parsedSource["Tasks"] = $$createField8_0($$parsedSource["Tasks"]);
}
return new Order($$parsedSource as Partial<Order>);
}
}
export class PrepTask {
"Id": number;
"Status": string;
"Description": string;
"TaskId": number;
"Task": Task;
"WorkAreaId": number;
"WorkArea": WorkArea;
"CreatedAt": number;
"Deadline": number;
/** Creates a new PrepTask instance. */
constructor($$source: Partial<PrepTask> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("Status" in $$source)) {
this["Status"] = "";
}
if (!("Description" in $$source)) {
this["Description"] = "";
}
if (!("TaskId" in $$source)) {
this["TaskId"] = 0;
}
if (!("Task" in $$source)) {
this["Task"] = (new Task());
}
if (!("WorkAreaId" in $$source)) {
this["WorkAreaId"] = 0;
}
if (!("WorkArea" in $$source)) {
this["WorkArea"] = (new WorkArea());
}
if (!("CreatedAt" in $$source)) {
this["CreatedAt"] = 0;
}
if (!("Deadline" in $$source)) {
this["Deadline"] = 0;
}
Object.assign(this, $$source);
}
/**
* Creates a new PrepTask instance from a string or object.
*/
static createFrom($$source: any = {}): PrepTask {
const $$createField4_0 = $$createType4;
const $$createField6_0 = $$createType6;
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("Task" in $$parsedSource) {
$$parsedSource["Task"] = $$createField4_0($$parsedSource["Task"]);
}
if ("WorkArea" in $$parsedSource) {
$$parsedSource["WorkArea"] = $$createField6_0($$parsedSource["WorkArea"]);
}
return new PrepTask($$parsedSource as Partial<PrepTask>);
}
}
export class ProductType {
"Id": number;
"Name": string;
/** Creates a new ProductType instance. */
constructor($$source: Partial<ProductType> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("Name" in $$source)) {
this["Name"] = "";
}
Object.assign(this, $$source);
}
/**
* Creates a new ProductType instance from a string or object.
*/
static createFrom($$source: any = {}): ProductType {
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
return new ProductType($$parsedSource as Partial<ProductType>);
}
}
export class Shift {
"Id": number;
"Description": string;
"ProductTypeId": number;
"ProductType": ProductType;
"ProductAmount": number;
"ShiftDate": number;
"WorkAreaId": number;
"WorkArea": WorkArea;
"CreatedAt": number;
/** Creates a new Shift instance. */
constructor($$source: Partial<Shift> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("Description" in $$source)) {
this["Description"] = "";
}
if (!("ProductTypeId" in $$source)) {
this["ProductTypeId"] = 0;
}
if (!("ProductType" in $$source)) {
this["ProductType"] = (new ProductType());
}
if (!("ProductAmount" in $$source)) {
this["ProductAmount"] = 0;
}
if (!("ShiftDate" in $$source)) {
this["ShiftDate"] = 0;
}
if (!("WorkAreaId" in $$source)) {
this["WorkAreaId"] = 0;
}
if (!("WorkArea" in $$source)) {
this["WorkArea"] = (new WorkArea());
}
if (!("CreatedAt" in $$source)) {
this["CreatedAt"] = 0;
}
Object.assign(this, $$source);
}
/**
* Creates a new Shift instance from a string or object.
*/
static createFrom($$source: any = {}): Shift {
const $$createField3_0 = $$createType2;
const $$createField7_0 = $$createType6;
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("ProductType" in $$parsedSource) {
$$parsedSource["ProductType"] = $$createField3_0($$parsedSource["ProductType"]);
}
if ("WorkArea" in $$parsedSource) {
$$parsedSource["WorkArea"] = $$createField7_0($$parsedSource["WorkArea"]);
}
return new Shift($$parsedSource as Partial<Shift>);
}
}
export class Task {
"Id": number;
"Description": string;
"ProductTypeId": number;
"ProductType": ProductType;
"Workshops": (Workshop | null)[];
"OrderId": number;
"Order": Order;
"PrepTasks": PrepTask[];
"ProductionStart": number;
"CreatedAt": number;
"Amount": number;
/** Creates a new Task instance. */
constructor($$source: Partial<Task> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("Description" in $$source)) {
this["Description"] = "";
}
if (!("ProductTypeId" in $$source)) {
this["ProductTypeId"] = 0;
}
if (!("ProductType" in $$source)) {
this["ProductType"] = (new ProductType());
}
if (!("Workshops" in $$source)) {
this["Workshops"] = [];
}
if (!("OrderId" in $$source)) {
this["OrderId"] = 0;
}
if (!("Order" in $$source)) {
this["Order"] = (new Order());
}
if (!("PrepTasks" in $$source)) {
this["PrepTasks"] = [];
}
if (!("ProductionStart" in $$source)) {
this["ProductionStart"] = 0;
}
if (!("CreatedAt" in $$source)) {
this["CreatedAt"] = 0;
}
if (!("Amount" in $$source)) {
this["Amount"] = 0;
}
Object.assign(this, $$source);
}
/**
* Creates a new Task instance from a string or object.
*/
static createFrom($$source: any = {}): Task {
const $$createField3_0 = $$createType2;
const $$createField4_0 = $$createType9;
const $$createField6_0 = $$createType0;
const $$createField7_0 = $$createType11;
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("ProductType" in $$parsedSource) {
$$parsedSource["ProductType"] = $$createField3_0($$parsedSource["ProductType"]);
}
if ("Workshops" in $$parsedSource) {
$$parsedSource["Workshops"] = $$createField4_0($$parsedSource["Workshops"]);
}
if ("Order" in $$parsedSource) {
$$parsedSource["Order"] = $$createField6_0($$parsedSource["Order"]);
}
if ("PrepTasks" in $$parsedSource) {
$$parsedSource["PrepTasks"] = $$createField7_0($$parsedSource["PrepTasks"]);
}
return new Task($$parsedSource as Partial<Task>);
}
}
export class TeamTask {
"Id": number;
"TeamTypeId": number;
"TeamType": TeamType;
"TeamLeaderId": number;
"TeamLeader": Worker;
"TeamMembers": (Worker | null)[];
"WorkStartDate": number;
"WorkAreaId": number;
"WorkArea": WorkArea;
"ShiftDuties": string;
/** Creates a new TeamTask instance. */
constructor($$source: Partial<TeamTask> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("TeamTypeId" in $$source)) {
this["TeamTypeId"] = 0;
}
if (!("TeamType" in $$source)) {
this["TeamType"] = (new TeamType());
}
if (!("TeamLeaderId" in $$source)) {
this["TeamLeaderId"] = 0;
}
if (!("TeamLeader" in $$source)) {
this["TeamLeader"] = (new Worker());
}
if (!("TeamMembers" in $$source)) {
this["TeamMembers"] = [];
}
if (!("WorkStartDate" in $$source)) {
this["WorkStartDate"] = 0;
}
if (!("WorkAreaId" in $$source)) {
this["WorkAreaId"] = 0;
}
if (!("WorkArea" in $$source)) {
this["WorkArea"] = (new WorkArea());
}
if (!("ShiftDuties" in $$source)) {
this["ShiftDuties"] = "";
}
Object.assign(this, $$source);
}
/**
* Creates a new TeamTask instance from a string or object.
*/
static createFrom($$source: any = {}): TeamTask {
const $$createField2_0 = $$createType12;
const $$createField4_0 = $$createType13;
const $$createField5_0 = $$createType15;
const $$createField8_0 = $$createType6;
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("TeamType" in $$parsedSource) {
$$parsedSource["TeamType"] = $$createField2_0($$parsedSource["TeamType"]);
}
if ("TeamLeader" in $$parsedSource) {
$$parsedSource["TeamLeader"] = $$createField4_0($$parsedSource["TeamLeader"]);
}
if ("TeamMembers" in $$parsedSource) {
$$parsedSource["TeamMembers"] = $$createField5_0($$parsedSource["TeamMembers"]);
}
if ("WorkArea" in $$parsedSource) {
$$parsedSource["WorkArea"] = $$createField8_0($$parsedSource["WorkArea"]);
}
return new TeamTask($$parsedSource as Partial<TeamTask>);
}
}
export class TeamType {
"Id": number;
"Name": string;
/** Creates a new TeamType instance. */
constructor($$source: Partial<TeamType> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("Name" in $$source)) {
this["Name"] = "";
}
Object.assign(this, $$source);
}
/**
* Creates a new TeamType instance from a string or object.
*/
static createFrom($$source: any = {}): TeamType {
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
return new TeamType($$parsedSource as Partial<TeamType>);
}
}
export class WorkArea {
"Id": number;
"Name": string;
"Description": string;
"Performance": number;
"WorkshopId": number;
"Workshop": Workshop;
"PrepTasks": PrepTask[];
"Shifts": Shift[];
"TeamTasks": TeamTask[];
/** Creates a new WorkArea instance. */
constructor($$source: Partial<WorkArea> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("Name" in $$source)) {
this["Name"] = "";
}
if (!("Description" in $$source)) {
this["Description"] = "";
}
if (!("Performance" in $$source)) {
this["Performance"] = 0;
}
if (!("WorkshopId" in $$source)) {
this["WorkshopId"] = 0;
}
if (!("Workshop" in $$source)) {
this["Workshop"] = (new Workshop());
}
if (!("PrepTasks" in $$source)) {
this["PrepTasks"] = [];
}
if (!("Shifts" in $$source)) {
this["Shifts"] = [];
}
if (!("TeamTasks" in $$source)) {
this["TeamTasks"] = [];
}
Object.assign(this, $$source);
}
/**
* Creates a new WorkArea instance from a string or object.
*/
static createFrom($$source: any = {}): WorkArea {
const $$createField5_0 = $$createType7;
const $$createField6_0 = $$createType11;
const $$createField7_0 = $$createType17;
const $$createField8_0 = $$createType19;
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("Workshop" in $$parsedSource) {
$$parsedSource["Workshop"] = $$createField5_0($$parsedSource["Workshop"]);
}
if ("PrepTasks" in $$parsedSource) {
$$parsedSource["PrepTasks"] = $$createField6_0($$parsedSource["PrepTasks"]);
}
if ("Shifts" in $$parsedSource) {
$$parsedSource["Shifts"] = $$createField7_0($$parsedSource["Shifts"]);
}
if ("TeamTasks" in $$parsedSource) {
$$parsedSource["TeamTasks"] = $$createField8_0($$parsedSource["TeamTasks"]);
}
return new WorkArea($$parsedSource as Partial<WorkArea>);
}
}
export class Worker {
"Id": number;
"Name": string;
"TeamTasks": (TeamTask | null)[];
"Workshop": Workshop;
"WorkshopId": number;
/** Creates a new Worker instance. */
constructor($$source: Partial<Worker> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("Name" in $$source)) {
this["Name"] = "";
}
if (!("TeamTasks" in $$source)) {
this["TeamTasks"] = [];
}
if (!("Workshop" in $$source)) {
this["Workshop"] = (new Workshop());
}
if (!("WorkshopId" in $$source)) {
this["WorkshopId"] = 0;
}
Object.assign(this, $$source);
}
/**
* Creates a new Worker instance from a string or object.
*/
static createFrom($$source: any = {}): Worker {
const $$createField2_0 = $$createType21;
const $$createField3_0 = $$createType7;
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("TeamTasks" in $$parsedSource) {
$$parsedSource["TeamTasks"] = $$createField2_0($$parsedSource["TeamTasks"]);
}
if ("Workshop" in $$parsedSource) {
$$parsedSource["Workshop"] = $$createField3_0($$parsedSource["Workshop"]);
}
return new Worker($$parsedSource as Partial<Worker>);
}
}
export class Workshop {
"Id": number;
"Name": string;
"WorkAreas": WorkArea[];
"Tasks": (Task | null)[];
"Workers": Worker[];
/** Creates a new Workshop instance. */
constructor($$source: Partial<Workshop> = {}) {
if (!("Id" in $$source)) {
this["Id"] = 0;
}
if (!("Name" in $$source)) {
this["Name"] = "";
}
if (!("WorkAreas" in $$source)) {
this["WorkAreas"] = [];
}
if (!("Tasks" in $$source)) {
this["Tasks"] = [];
}
if (!("Workers" in $$source)) {
this["Workers"] = [];
}
Object.assign(this, $$source);
}
/**
* Creates a new Workshop instance from a string or object.
*/
static createFrom($$source: any = {}): Workshop {
const $$createField2_0 = $$createType22;
const $$createField3_0 = $$createType24;
const $$createField4_0 = $$createType25;
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("WorkAreas" in $$parsedSource) {
$$parsedSource["WorkAreas"] = $$createField2_0($$parsedSource["WorkAreas"]);
}
if ("Tasks" in $$parsedSource) {
$$parsedSource["Tasks"] = $$createField3_0($$parsedSource["Tasks"]);
}
if ("Workers" in $$parsedSource) {
$$parsedSource["Workers"] = $$createField4_0($$parsedSource["Workers"]);
}
return new Workshop($$parsedSource as Partial<Workshop>);
}
}
// Private type creation functions
const $$createType0 = Order.createFrom;
const $$createType1 = $Create.Array($$createType0);
const $$createType2 = ProductType.createFrom;
const $$createType3 = Customer.createFrom;
const $$createType4 = Task.createFrom;
const $$createType5 = $Create.Array($$createType4);
const $$createType6 = WorkArea.createFrom;
const $$createType7 = Workshop.createFrom;
const $$createType8 = $Create.Nullable($$createType7);
const $$createType9 = $Create.Array($$createType8);
const $$createType10 = PrepTask.createFrom;
const $$createType11 = $Create.Array($$createType10);
const $$createType12 = TeamType.createFrom;
const $$createType13 = Worker.createFrom;
const $$createType14 = $Create.Nullable($$createType13);
const $$createType15 = $Create.Array($$createType14);
const $$createType16 = Shift.createFrom;
const $$createType17 = $Create.Array($$createType16);
const $$createType18 = TeamTask.createFrom;
const $$createType19 = $Create.Array($$createType18);
const $$createType20 = $Create.Nullable($$createType18);
const $$createType21 = $Create.Array($$createType20);
const $$createType22 = $Create.Array($$createType6);
const $$createType23 = $Create.Nullable($$createType4);
const $$createType24 = $Create.Array($$createType23);
const $$createType25 = $Create.Array($$createType13);

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(2456694737) as any;
return $resultPromise;
}
export function Create(item: $models.Customer): Promise<$models.Customer> & { cancel(): void } {
let $resultPromise = $Call.ByID(2428713966, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(351568709, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.Customer | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2094111829) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.Customer | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(1898783026, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.Customer | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(1677934916, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.Customer | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(3880190910, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.Customer): Promise<$models.Customer> & { cancel(): void } {
let $resultPromise = $Call.ByID(2724586067, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.Customer.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,31 +1,7 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL // Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT // This file is automatically generated. DO NOT EDIT
import * as CustomerService from "./customerservice.js";
import * as ExcelModule from "./excelmodule.js"; import * as ExcelModule from "./excelmodule.js";
import * as OrderService from "./orderservice.js";
import * as PrepTaskService from "./preptaskservice.js";
import * as ProductTypeService from "./producttypeservice.js";
import * as ShiftService from "./shiftservice.js";
import * as TaskService from "./taskservice.js";
import * as TeamTaskService from "./teamtaskservice.js";
import * as TeamTypeService from "./teamtypeservice.js";
import * as WorkAreaService from "./workareaservice.js";
import * as WorkerService from "./workerservice.js";
import * as WorkshopService from "./workshopservice.js";
export { export {
CustomerService, ExcelModule
ExcelModule,
OrderService,
PrepTaskService,
ProductTypeService,
ShiftService,
TaskService,
TeamTaskService,
TeamTypeService,
WorkAreaService,
WorkerService,
WorkshopService
}; };
export * from "./models.js";

View File

@@ -1,43 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
export const Customer = models$0.Customer;
export type Customer = models$0.Customer;
export const Order = models$0.Order;
export type Order = models$0.Order;
export const PrepTask = models$0.PrepTask;
export type PrepTask = models$0.PrepTask;
export const ProductType = models$0.ProductType;
export type ProductType = models$0.ProductType;
export const Shift = models$0.Shift;
export type Shift = models$0.Shift;
export const Task = models$0.Task;
export type Task = models$0.Task;
export const TeamTask = models$0.TeamTask;
export type TeamTask = models$0.TeamTask;
export const TeamType = models$0.TeamType;
export type TeamType = models$0.TeamType;
export const WorkArea = models$0.WorkArea;
export type WorkArea = models$0.WorkArea;
export const Worker = models$0.Worker;
export type Worker = models$0.Worker;
export const Workshop = models$0.Workshop;
export type Workshop = models$0.Workshop;

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(2566189339) as any;
return $resultPromise;
}
export function Create(item: $models.Order): Promise<$models.Order> & { cancel(): void } {
let $resultPromise = $Call.ByID(4046033040, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(1974545647, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.Order | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(1679856851) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.Order | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(1201282680, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.Order | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(963444842, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.Order | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(3596187064, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.Order): Promise<$models.Order> & { cancel(): void } {
let $resultPromise = $Call.ByID(358288261, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.Order.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(3107879827) as any;
return $resultPromise;
}
export function Create(item: $models.PrepTask): Promise<$models.PrepTask> & { cancel(): void } {
let $resultPromise = $Call.ByID(3612638808, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(339686919, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.PrepTask | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2935972059) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.PrepTask | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(785365008, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.PrepTask | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2705089298, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.PrepTask | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(423868800, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.PrepTask): Promise<$models.PrepTask> & { cancel(): void } {
let $resultPromise = $Call.ByID(998661645, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.PrepTask.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(3869103122) as any;
return $resultPromise;
}
export function Create(item: $models.ProductType): Promise<$models.ProductType> & { cancel(): void } {
let $resultPromise = $Call.ByID(2892206627, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(2075432208, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.ProductType | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(4237247244) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.ProductType | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(3965758897, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.ProductType | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2567053163, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.ProductType | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2110028149, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.ProductType): Promise<$models.ProductType> & { cancel(): void } {
let $resultPromise = $Call.ByID(2015721618, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.ProductType.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(3190120795) as any;
return $resultPromise;
}
export function Create(item: $models.Shift): Promise<$models.Shift> & { cancel(): void } {
let $resultPromise = $Call.ByID(1438106576, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(2919255855, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.Shift | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(1919901971) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.Shift | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(2418071992, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.Shift | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2703093162, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.Shift | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(1476306424, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.Shift): Promise<$models.Shift> & { cancel(): void } {
let $resultPromise = $Call.ByID(132402373, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.Shift.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(2626684778) as any;
return $resultPromise;
}
export function Create(item: $models.Task): Promise<$models.Task> & { cancel(): void } {
let $resultPromise = $Call.ByID(893779179, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(3033756968, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.Task | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(1660059028) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.Task | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(3152185033, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.Task | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(3905257587, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.Task | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2942045693, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.Task): Promise<$models.Task> & { cancel(): void } {
let $resultPromise = $Call.ByID(3997472442, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.Task.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(3706236529) as any;
return $resultPromise;
}
export function Create(item: $models.TeamTask): Promise<$models.TeamTask> & { cancel(): void } {
let $resultPromise = $Call.ByID(757028622, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(3016324197, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.TeamTask | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2153018165) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.TeamTask | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(457048658, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.TeamTask | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(352409060, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.TeamTask | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(1507635678, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.TeamTask): Promise<$models.TeamTask> & { cancel(): void } {
let $resultPromise = $Call.ByID(1052797555, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.TeamTask.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(1823045730) as any;
return $resultPromise;
}
export function Create(item: $models.TeamType): Promise<$models.TeamType> & { cancel(): void } {
let $resultPromise = $Call.ByID(3331874131, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(1006566688, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.TeamType | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(63845852) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.TeamType | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(1530543873, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.TeamType | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(201965595, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.TeamType | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2936929733, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.TeamType): Promise<$models.TeamType> & { cancel(): void } {
let $resultPromise = $Call.ByID(918118946, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.TeamType.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(2628202257) as any;
return $resultPromise;
}
export function Create(item: $models.WorkArea): Promise<$models.WorkArea> & { cancel(): void } {
let $resultPromise = $Call.ByID(969170222, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(421967749, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.WorkArea | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2440807317) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.WorkArea | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(2721437042, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.WorkArea | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(3482576004, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.WorkArea | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(571753726, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.WorkArea): Promise<$models.WorkArea> & { cancel(): void } {
let $resultPromise = $Call.ByID(2753408403, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.WorkArea.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(3131879451) as any;
return $resultPromise;
}
export function Create(item: $models.Worker): Promise<$models.Worker> & { cancel(): void } {
let $resultPromise = $Call.ByID(90914192, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(2314394095, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.Worker | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(2019705299) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.Worker | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(721253752, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.Worker | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(4245847914, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.Worker | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(3186234552, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.Worker): Promise<$models.Worker> & { cancel(): void } {
let $resultPromise = $Call.ByID(698136709, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.Worker.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,86 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as models$0 from "../models/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as utils$0 from "../utils/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
export function Count(): Promise<number> & { cancel(): void } {
let $resultPromise = $Call.ByID(2983034394) as any;
return $resultPromise;
}
export function Create(item: $models.Workshop): Promise<$models.Workshop> & { cancel(): void } {
let $resultPromise = $Call.ByID(982947003, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Delete(id: number): Promise<void> & { cancel(): void } {
let $resultPromise = $Call.ByID(3145051352, id) as any;
return $resultPromise;
}
export function GetAll(): Promise<($models.Workshop | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(806282052) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function GetById(id: number): Promise<$models.Workshop | null> & { cancel(): void } {
let $resultPromise = $Call.ByID(1829452217, id) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType1($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SearchByAllTextFields(phrase: string): Promise<($models.Workshop | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(283835139, phrase) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.Workshop | null)[]> & { cancel(): void } {
let $resultPromise = $Call.ByID(3581052397, fieldsSortingOrder) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType2($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
export function Update(item: $models.Workshop): Promise<$models.Workshop> & { cancel(): void } {
let $resultPromise = $Call.ByID(1795717546, item) as any;
let $typingPromise = $resultPromise.then(($result: any) => {
return $$createType0($result);
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = models$0.Workshop.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = $Create.Array($$createType1);

View File

@@ -1,4 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
export * from "./models.js";

View File

@@ -1,31 +0,0 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "@wailsio/runtime";
export class SortField {
"Name": string;
"Order": string;
/** Creates a new SortField instance. */
constructor($$source: Partial<SortField> = {}) {
if (!("Name" in $$source)) {
this["Name"] = "";
}
if (!("Order" in $$source)) {
this["Order"] = "";
}
Object.assign(this, $$source);
}
/**
* Creates a new SortField instance from a string or object.
*/
static createFrom($$source: any = {}): SortField {
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
return new SortField($$parsedSource as Partial<SortField>);
}
}

View File

@@ -1,95 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./customer.service";
import type { Scheme } from "../types/scheme.type";
import { Customer } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
import OrderService from "../order/order.service";
const orderService = new OrderService();
const service = new Service();
const items = ref<Customer[]>([]);
const load = async () => {
(scheme as any).Orders.type!.nested!.values = await orderService.readAll();
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<Customer> = reactive({
entityId: "CustomerId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
Title: {
russian: "Название",
type: {
primitive: "string",
},
},
Contact: {
russian: "Контакт",
type: {
primitive: "string",
},
},
Orders: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<Customer> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,52 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/customerservice";
import type { Customer } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class CustomerService implements IService<Customer> {
async read(id: number) {
return (await GetById(id)) as Customer;
}
async readAll() {
return (await GetAll()) as Customer[];
}
async create(item: Customer) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: Customer) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as Customer[];
}
async sort(options: SortOptions<Customer>) {
return (await SortedByOrder(
Object.entries(options).map((item) => ({
Name: item[0],
Order: item[1],
})),
)) as Customer[];
}
}

View File

@@ -1,165 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./order.service";
import type { Scheme } from "../types/scheme.type";
import { Order } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
import ProducttypeService from "../producttype/producttype.service";
const producttypeService = new ProducttypeService();
import CustomerService from "../customer/customer.service";
const customerService = new CustomerService();
import TaskService from "../task/task.service";
const taskService = new TaskService();
const service = new Service();
const items = ref<Order[]>([]);
const load = async () => {
(scheme as any).ProductType.type!.nested!.values =
await producttypeService.readAll();
(scheme as any).Customer.type!.nested!.values =
await customerService.readAll();
(scheme as any).Tasks.type!.nested!.values = await taskService.readAll();
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<Order> = reactive({
entityId: "OrderId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
Status: {
russian: "Статус",
type: {
primitive: "string",
},
},
Description: {
russian: "Описание",
type: {
primitive: "string",
},
},
ProductTypeId: {
hidden: true,
type: {
primitive: "number",
},
},
ProductType: {
russian: "Тип",
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
ProductAmount: {
russian: "Количество продукции",
type: {
primitive: "number",
},
},
CustomerId: {
hidden: true,
type: {
primitive: "number",
},
},
Customer: {
russian: "Клиент",
type: {
nested: {
values: [],
field: ["Title"],
},
},
},
Tasks: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
CreatedAt: {
russian: "Дата создания",
readonly: true,
date: true,
type: {
primitive: "date",
},
},
DeadlineDate: {
russian: "Крайний срок",
date: true,
type: {
primitive: "date",
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<Order> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,52 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/orderservice";
import type { Order } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class OrderService implements IService<Order> {
async read(id: number) {
return (await GetById(id)) as Order;
}
async readAll() {
return (await GetAll()) as Order[];
}
async create(item: Order) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: Order) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as Order[];
}
async sort(options: SortOptions<Order>) {
return (await SortedByOrder(
Object.entries(options).map((item) => ({
Name: item[0],
Order: item[1],
})),
)) as Order[];
}
}

View File

@@ -35,9 +35,6 @@
<!--</template>--> <!--</template>-->
<template> <template>
<TaskScheme></TaskScheme>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import ProducttypeScheme from "../producttype/ProducttypeScheme.vue";
import TaskScheme from "../task/TaskScheme.vue";
</script> </script>

View File

@@ -1,141 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./preptask.service";
import type { Scheme } from "../types/scheme.type";
import { PrepTask } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
import TaskService from "../task/task.service";
const taskService = new TaskService();
import WorkareaService from "../workarea/workarea.service";
const workareaService = new WorkareaService();
const service = new Service();
const items = ref<PrepTask[]>([]);
const load = async () => {
(scheme as any).Task.type!.nested!.values = await taskService.readAll();
(scheme as any).WorkArea.type!.nested!.values =
await workareaService.readAll();
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<PrepTask> = reactive({
entityId: "PrepTaskId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
Status: {
russian: "Статус",
type: {
primitive: "string",
},
},
Description: {
russian: "Описание",
type: {
primitive: "string",
},
},
TaskId: {
hidden: true,
type: {
primitive: "number",
},
},
Task: {
russian: "Задача",
type: {
nested: {
values: [],
field: ["Description"],
},
},
},
WorkAreaId: {
hidden: true,
type: {
primitive: "number",
},
},
WorkArea: {
russian: "Рабочая зона",
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
CreatedAt: {
russian: "Дата создания",
readonly: true,
date: true,
type: {
primitive: "date",
},
},
Deadline: {
russian: "Крайний срок",
date: true,
type: {
primitive: "date",
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<PrepTask> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,52 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/preptaskservice";
import type { PrepTask } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class PrepTaskService implements IService<PrepTask> {
async read(id: number) {
return (await GetById(id)) as PrepTask;
}
async readAll() {
return (await GetAll()) as PrepTask[];
}
async create(item: PrepTask) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: PrepTask) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as PrepTask[];
}
async sort(options: SortOptions<PrepTask>) {
return (await SortedByOrder(
Object.entries(options).map((item) => ({
Name: item[0],
Order: item[1],
})),
)) as PrepTask[];
}
}

View File

@@ -1,72 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./producttype.service";
import type { Scheme } from "../types/scheme.type";
import { ProductType } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
const service = new Service();
const items = ref<ProductType[]>([]);
const load = async () => {
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<ProductType> = reactive({
entityId: "ProductTypeId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
Name: {
russian: "Название",
type: {
primitive: "string",
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<ProductType> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,52 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/producttypeservice";
import type { ProductType } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class ProductTypeService implements IService<ProductType> {
async read(id: number) {
return (await GetById(id)) as ProductType;
}
async readAll() {
return (await GetAll()) as ProductType[];
}
async create(item: ProductType) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: ProductType) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as ProductType[];
}
async sort(options: SortOptions<ProductType>) {
return (await SortedByOrder(
Object.entries(options).map((item) => ({
Name: item[0],
Order: item[1],
})),
)) as ProductType[];
}
}

View File

@@ -1,140 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./shift.service";
import type { Scheme } from "../types/scheme.type";
import { Shift } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
import ProducttypeService from "../producttype/producttype.service";
const producttypeService = new ProducttypeService();
import WorkareaService from "../workarea/workarea.service";
const workareaService = new WorkareaService();
const service = new Service();
const items = ref<Shift[]>([]);
const load = async () => {
(scheme as any).ProductType.type!.nested!.values =
await producttypeService.readAll();
(scheme as any).WorkArea.type!.nested!.values =
await workareaService.readAll();
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<Shift> = reactive({
entityId: "ShiftId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
Description: {
russian: "Описание",
type: {
primitive: "string",
},
},
ProductTypeId: {
hidden: true,
type: {
primitive: "number",
},
},
ProductType: {
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
ProductAmount: {
russian: "Количество продукции",
type: {
primitive: "number",
},
},
ShiftDate: {
russian: "Дата смены",
date: true,
type: {
primitive: "date",
},
},
WorkAreaId: {
hidden: true,
type: {
primitive: "number",
},
},
WorkArea: {
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
CreatedAt: {
russian: "Дата создания",
readonly: true,
date: true,
type: {
primitive: "date",
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<Shift> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,52 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/shiftservice";
import type { Shift } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class ShiftService implements IService<Shift> {
async read(id: number) {
return (await GetById(id)) as Shift;
}
async readAll() {
return (await GetAll()) as Shift[];
}
async create(item: Shift) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: Shift) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as Shift[];
}
async sort(options: SortOptions<Shift>) {
return (await SortedByOrder(
Object.entries(options).map((item) => ({
Name: item[0],
Order: item[1],
})),
)) as Shift[];
}
}

View File

@@ -1,175 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./task.service";
import type { Scheme } from "../types/scheme.type";
import { Task } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
import ProducttypeService from "../producttype/producttype.service";
const producttypeService = new ProducttypeService();
import WorkshopService from "../workshop/workshop.service";
const workshopService = new WorkshopService();
import OrderService from "../order/order.service";
const orderService = new OrderService();
import PreptaskService from "../preptask/preptask.service";
const preptaskService = new PreptaskService();
const service = new Service();
const items = ref<Task[]>([]);
const load = async () => {
(scheme as any).ProductType.type!.nested!.values =
await producttypeService.readAll();
(scheme as any).Workshops.type!.nested!.values =
await workshopService.readAll();
(scheme as any).Order.type!.nested!.values = await orderService.readAll();
(scheme as any).PrepTasks.type!.nested!.values =
await preptaskService.readAll();
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<Task> = reactive({
entityId: "TaskId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
Description: {
russian: "Описание",
type: {
primitive: "string",
},
},
ProductTypeId: {
hidden: true,
type: {
primitive: "number",
},
},
ProductType: {
russian: "Тип",
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
Workshops: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
OrderId: {
hidden: true,
type: {
primitive: "number",
},
},
Order: {
russian: "Заказ",
type: {
nested: {
values: [],
field: ["Description"],
},
},
},
PrepTasks: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
ProductionStart: {
russian: "Дата начала производства",
date: true,
type: {
primitive: "date",
},
},
CreatedAt: {
russian: "Дата создания",
readonly: true,
date: true,
type: {
primitive: "date",
},
},
Amount: {
russian: "Количество",
type: {
primitive: "number",
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<Task> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,56 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/taskservice";
import type { Task } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class TaskService implements IService<Task> {
async read(id: number) {
return (await GetById(id)) as Task;
}
async readAll() {
return (await GetAll()) as Task[];
}
async create(item: Task) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: Task) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as Task[];
}
async sort(options: SortOptions<Task>) {
return (await SortedByOrder(
Object.entries(options).map((item) => {
if (item[1] !== 'NONE') {
return ({
Name: item[0],
Order: item[1],
})
}
}).filter(item => !!item)
)) as Task[];
}
}

View File

@@ -1,157 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./teamtask.service";
import type { Scheme } from "../types/scheme.type";
import { TeamTask } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
import TeamtypeService from "../teamtype/teamtype.service";
const teamtypeService = new TeamtypeService();
import WorkerService from "../worker/worker.service";
const workerService = new WorkerService();
import WorkareaService from "../workarea/workarea.service";
const workareaService = new WorkareaService();
const service = new Service();
const items = ref<TeamTask[]>([]);
const load = async () => {
(scheme as any).TeamType.type!.nested!.values =
await teamtypeService.readAll();
(scheme as any).TeamLeader.type!.nested!.values =
await workerService.readAll();
(scheme as any).WorkArea.type!.nested!.values =
await workareaService.readAll();
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<TeamTask> = reactive({
entityId: "TeamTaskId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
TeamTypeId: {
hidden: true,
type: {
primitive: "number",
},
},
TeamType: {
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
TeamLeaderId: {
hidden: true,
type: {
primitive: "number",
},
},
TeamLeader: {
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
TeamMembers: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
WorkStartDate: {
russian: "Дата начала работ",
date: true,
type: {
primitive: "date",
},
},
WorkAreaId: {
hidden: true,
type: {
primitive: "number",
},
},
WorkArea: {
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
ShiftDuties: {
russian: "Обязанности смены",
type: {
primitive: "string",
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<TeamTask> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,52 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/teamtaskservice";
import type { TeamTask } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class TeamTaskService implements IService<TeamTask> {
async read(id: number) {
return (await GetById(id)) as TeamTask;
}
async readAll() {
return (await GetAll()) as TeamTask[];
}
async create(item: TeamTask) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: TeamTask) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as TeamTask[];
}
async sort(options: SortOptions<TeamTask>) {
return (await SortedByOrder(
Object.entries(options).map((item) => ({
Name: item[0],
Order: item[1],
})),
)) as TeamTask[];
}
}

View File

@@ -1,72 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./teamtype.service";
import type { Scheme } from "../types/scheme.type";
import { TeamType } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
const service = new Service();
const items = ref<TeamType[]>([]);
const load = async () => {
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<TeamType> = reactive({
entityId: "TeamTypeId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
Name: {
russian: "Название",
type: {
primitive: "string",
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<TeamType> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,52 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/teamtypeservice";
import type { TeamType } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class TeamTypeService implements IService<TeamType> {
async read(id: number) {
return (await GetById(id)) as TeamType;
}
async readAll() {
return (await GetAll()) as TeamType[];
}
async create(item: TeamType) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: TeamType) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as TeamType[];
}
async sort(options: SortOptions<TeamType>) {
return (await SortedByOrder(
Object.entries(options).map((item) => ({
Name: item[0],
Order: item[1],
})),
)) as TeamType[];
}
}

View File

@@ -1,159 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./workarea.service";
import type { Scheme } from "../types/scheme.type";
import { WorkArea } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
import WorkshopService from "../workshop/workshop.service";
const workshopService = new WorkshopService();
import PreptaskService from "../preptask/preptask.service";
const preptaskService = new PreptaskService();
import ShiftService from "../shift/shift.service";
const shiftService = new ShiftService();
import TeamtaskService from "../teamtask/teamtask.service";
const teamtaskService = new TeamtaskService();
const service = new Service();
const items = ref<WorkArea[]>([]);
const load = async () => {
(scheme as any).Workshop.type!.nested!.values =
await workshopService.readAll();
(scheme as any).PrepTasks.type!.nested!.values =
await preptaskService.readAll();
(scheme as any).Shifts.type!.nested!.values = await shiftService.readAll();
(scheme as any).TeamTasks.type!.nested!.values =
await teamtaskService.readAll();
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<WorkArea> = reactive({
entityId: "WorkAreaId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
Name: {
russian: "Наименование",
type: {
primitive: "string",
},
},
Description: {
russian: "Описание",
type: {
primitive: "string",
},
},
Performance: {
russian: "Производительность",
type: {
primitive: "number",
},
},
WorkshopId: {
hidden: true,
type: {
primitive: "number",
},
},
Workshop: {
russian: "Цех",
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
PrepTasks: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
Shifts: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
TeamTasks: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<WorkArea> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,52 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/workareaservice";
import type { WorkArea } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class WorkAreaService implements IService<WorkArea> {
async read(id: number) {
return (await GetById(id)) as WorkArea;
}
async readAll() {
return (await GetAll()) as WorkArea[];
}
async create(item: WorkArea) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: WorkArea) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as WorkArea[];
}
async sort(options: SortOptions<WorkArea>) {
return (await SortedByOrder(
Object.entries(options).map((item) => ({
Name: item[0],
Order: item[1],
})),
)) as WorkArea[];
}
}

View File

@@ -1,111 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./worker.service";
import type { Scheme } from "../types/scheme.type";
import { Worker } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
import TeamtaskService from "../teamtask/teamtask.service";
const teamtaskService = new TeamtaskService();
import WorkshopService from "../workshop/workshop.service";
const workshopService = new WorkshopService();
const service = new Service();
const items = ref<Worker[]>([]);
const load = async () => {
(scheme as any).TeamTasks.type!.nested!.values =
await teamtaskService.readAll();
(scheme as any).Workshop.type!.nested!.values =
await workshopService.readAll();
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<Worker> = reactive({
entityId: "WorkerId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
Name: {
russian: "Имя",
type: {
primitive: "string",
},
},
TeamTasks: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
Workshop: {
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
WorkshopId: {
hidden: true,
type: {
primitive: "number",
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<Worker> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,52 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/workerservice";
import type { Worker } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class WorkerService implements IService<Worker> {
async read(id: number) {
return (await GetById(id)) as Worker;
}
async readAll() {
return (await GetAll()) as Worker[];
}
async create(item: Worker) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: Worker) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as Worker[];
}
async sort(options: SortOptions<Worker>) {
return (await SortedByOrder(
Object.entries(options).map((item) => ({
Name: item[0],
Order: item[1],
})),
)) as Worker[];
}
}

View File

@@ -1,121 +0,0 @@
<script setup lang="ts">
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
import { getDefaultValues } from "../utils/structs/defaults.util";
import Service from "./workshop.service";
import type { Scheme } from "../types/scheme.type";
import { Workshop } from "../../bindings/app/internal/services";
import { ref } from "vue";
import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";
import WorkareaService from "../workarea/workarea.service";
const workareaService = new WorkareaService();
import TaskService from "../task/task.service";
const taskService = new TaskService();
import WorkerService from "../worker/worker.service";
const workerService = new WorkerService();
const service = new Service();
const items = ref<Workshop[]>([]);
const load = async () => {
(scheme as any).WorkAreas.type!.nested!.values =
await workareaService.readAll();
(scheme as any).Tasks.type!.nested!.values = await taskService.readAll();
(scheme as any).Workers.type!.nested!.values = await workerService.readAll();
items.value = await service.sort(sortOptions.value);
return items.value;
};
onMounted(() => {
load();
});
const scheme: Scheme<Workshop> = reactive({
entityId: "WorkshopId",
Id: {
russian: "ID",
readonly: true,
type: {
primitive: "number",
},
},
Name: {
russian: "Наименование",
type: {
primitive: "string",
},
},
WorkAreas: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
Tasks: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
Workers: {
hidden: true,
many: true,
type: {
nested: {
values: [],
field: [""],
},
},
},
});
const getDefaults = () => getDefaultValues(scheme);
const validate: Validate<Workshop> = (entity) => {
return {
status: "success",
};
};
const search = async (input: string) => {
items.value = await service.search(input);
};
const sortOptions = ref(getDefaultSortOptions(scheme));
</script>
<template>
<main class="w-screen h-screen">
<Table
:scheme
:service
:get-defaults
:load
:items
:validate
@on-search="search"
v-model:sort-options="sortOptions"
></Table>
</main>
</template>

View File

@@ -1,52 +0,0 @@
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
SortedByOrder,
SearchByAllTextFields,
} from "../../bindings/app/internal/services/workshopservice";
import type { Workshop } from "../../bindings/app/internal/services";
import type { IService } from "../types/service.type";
import type { SortOptions } from "../types/sort-options.type";
export default class WorkshopService implements IService<Workshop> {
async read(id: number) {
return (await GetById(id)) as Workshop;
}
async readAll() {
return (await GetAll()) as Workshop[];
}
async create(item: Workshop) {
await Create(item);
}
async delete(id: number) {
return await Delete(id);
}
async update(item: Workshop) {
await Update(item);
}
async count() {
return await Count();
}
async search(input: string) {
return (await SearchByAllTextFields(input)) as Workshop[];
}
async sort(options: SortOptions<Workshop>) {
return (await SortedByOrder(
Object.entries(options).map((item) => ({
Name: item[0],
Order: item[1],
})),
)) as Workshop[];
}
}

View File

@@ -1,891 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newCustomer(db *gorm.DB, opts ...gen.DOOption) customer {
_customer := customer{}
_customer.customerDo.UseDB(db, opts...)
_customer.customerDo.UseModel(&models.Customer{})
tableName := _customer.customerDo.TableName()
_customer.ALL = field.NewAsterisk(tableName)
_customer.Id = field.NewUint(tableName, "id")
_customer.Title = field.NewString(tableName, "title")
_customer.Contact = field.NewString(tableName, "contact")
_customer.Orders = customerHasManyOrders{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("Orders", "models.Order"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.ProductType", "models.ProductType"),
},
Customer: struct {
field.RelationField
Orders struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Orders.Customer", "models.Customer"),
Orders: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Customer.Orders", "models.Order"),
},
},
Tasks: struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
Workshop struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
}
}
}
Workshops struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Orders.Tasks", "models.Task"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.ProductType", "models.ProductType"),
},
Order: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.Order", "models.Order"),
},
PrepTasks: struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
Workshop struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
}
}
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks", "models.PrepTask"),
Task: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.Task", "models.Task"),
},
WorkArea: struct {
field.RelationField
Workshop struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea", "models.WorkArea"),
Workshop: struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Workshop", "models.Workshop"),
WorkAreas: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Workshop.WorkAreas", "models.WorkArea"),
},
Workers: struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Workshop.Workers", "models.Worker"),
Workshop: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Workshop.Workers.Workshop", "models.Workshop"),
},
TeamTasks: struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Workshop.Workers.TeamTasks", "models.TeamTask"),
TeamType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Workshop.Workers.TeamTasks.TeamType", "models.TeamType"),
},
TeamLeader: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Workshop.Workers.TeamTasks.TeamLeader", "models.Worker"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Workshop.Workers.TeamTasks.WorkArea", "models.WorkArea"),
},
TeamMembers: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Workshop.Workers.TeamTasks.TeamMembers", "models.Worker"),
},
},
},
Tasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Workshop.Tasks", "models.Task"),
},
},
PrepTasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.PrepTasks", "models.PrepTask"),
},
Shifts: struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Shifts", "models.Shift"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Shifts.ProductType", "models.ProductType"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.Shifts.WorkArea", "models.WorkArea"),
},
},
TeamTasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.PrepTasks.WorkArea.TeamTasks", "models.TeamTask"),
},
},
},
Workshops: struct {
field.RelationField
}{
RelationField: field.NewRelation("Orders.Tasks.Workshops", "models.Workshop"),
},
},
}
_customer.fillFieldMap()
return _customer
}
type customer struct {
customerDo
ALL field.Asterisk
Id field.Uint
Title field.String
Contact field.String
Orders customerHasManyOrders
fieldMap map[string]field.Expr
}
func (c customer) Table(newTableName string) *customer {
c.customerDo.UseTable(newTableName)
return c.updateTableName(newTableName)
}
func (c customer) As(alias string) *customer {
c.customerDo.DO = *(c.customerDo.As(alias).(*gen.DO))
return c.updateTableName(alias)
}
func (c *customer) updateTableName(table string) *customer {
c.ALL = field.NewAsterisk(table)
c.Id = field.NewUint(table, "id")
c.Title = field.NewString(table, "title")
c.Contact = field.NewString(table, "contact")
c.fillFieldMap()
return c
}
func (c *customer) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := c.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (c *customer) fillFieldMap() {
c.fieldMap = make(map[string]field.Expr, 4)
c.fieldMap["id"] = c.Id
c.fieldMap["title"] = c.Title
c.fieldMap["contact"] = c.Contact
}
func (c customer) clone(db *gorm.DB) customer {
c.customerDo.ReplaceConnPool(db.Statement.ConnPool)
return c
}
func (c customer) replaceDB(db *gorm.DB) customer {
c.customerDo.ReplaceDB(db)
return c
}
type customerHasManyOrders struct {
db *gorm.DB
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
Workshop struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
}
}
}
Workshops struct {
field.RelationField
}
}
}
func (a customerHasManyOrders) Where(conds ...field.Expr) *customerHasManyOrders {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a customerHasManyOrders) WithContext(ctx context.Context) *customerHasManyOrders {
a.db = a.db.WithContext(ctx)
return &a
}
func (a customerHasManyOrders) Session(session *gorm.Session) *customerHasManyOrders {
a.db = a.db.Session(session)
return &a
}
func (a customerHasManyOrders) Model(m *models.Customer) *customerHasManyOrdersTx {
return &customerHasManyOrdersTx{a.db.Model(m).Association(a.Name())}
}
type customerHasManyOrdersTx struct{ tx *gorm.Association }
func (a customerHasManyOrdersTx) Find() (result []*models.Order, err error) {
return result, a.tx.Find(&result)
}
func (a customerHasManyOrdersTx) Append(values ...*models.Order) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a customerHasManyOrdersTx) Replace(values ...*models.Order) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a customerHasManyOrdersTx) Delete(values ...*models.Order) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a customerHasManyOrdersTx) Clear() error {
return a.tx.Clear()
}
func (a customerHasManyOrdersTx) Count() int64 {
return a.tx.Count()
}
type customerDo struct{ gen.DO }
type ICustomerDo interface {
gen.SubQuery
Debug() ICustomerDo
WithContext(ctx context.Context) ICustomerDo
WithResult(fc func(tx gen.Dao)) gen.ResultInfo
ReplaceDB(db *gorm.DB)
ReadDB() ICustomerDo
WriteDB() ICustomerDo
As(alias string) gen.Dao
Session(config *gorm.Session) ICustomerDo
Columns(cols ...field.Expr) gen.Columns
Clauses(conds ...clause.Expression) ICustomerDo
Not(conds ...gen.Condition) ICustomerDo
Or(conds ...gen.Condition) ICustomerDo
Select(conds ...field.Expr) ICustomerDo
Where(conds ...gen.Condition) ICustomerDo
Order(conds ...field.Expr) ICustomerDo
Distinct(cols ...field.Expr) ICustomerDo
Omit(cols ...field.Expr) ICustomerDo
Join(table schema.Tabler, on ...field.Expr) ICustomerDo
LeftJoin(table schema.Tabler, on ...field.Expr) ICustomerDo
RightJoin(table schema.Tabler, on ...field.Expr) ICustomerDo
Group(cols ...field.Expr) ICustomerDo
Having(conds ...gen.Condition) ICustomerDo
Limit(limit int) ICustomerDo
Offset(offset int) ICustomerDo
Count() (count int64, err error)
Scopes(funcs ...func(gen.Dao) gen.Dao) ICustomerDo
Unscoped() ICustomerDo
Create(values ...*models.Customer) error
CreateInBatches(values []*models.Customer, batchSize int) error
Save(values ...*models.Customer) error
First() (*models.Customer, error)
Take() (*models.Customer, error)
Last() (*models.Customer, error)
Find() ([]*models.Customer, error)
FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.Customer, err error)
FindInBatches(result *[]*models.Customer, batchSize int, fc func(tx gen.Dao, batch int) error) error
Pluck(column field.Expr, dest interface{}) error
Delete(...*models.Customer) (info gen.ResultInfo, err error)
Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
Updates(value interface{}) (info gen.ResultInfo, err error)
UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
UpdateFrom(q gen.SubQuery) gen.Dao
Attrs(attrs ...field.AssignExpr) ICustomerDo
Assign(attrs ...field.AssignExpr) ICustomerDo
Joins(fields ...field.RelationField) ICustomerDo
Preload(fields ...field.RelationField) ICustomerDo
FirstOrInit() (*models.Customer, error)
FirstOrCreate() (*models.Customer, error)
FindByPage(offset int, limit int) (result []*models.Customer, count int64, err error)
ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
Scan(result interface{}) (err error)
Returning(value interface{}, columns ...string) ICustomerDo
UnderlyingDB() *gorm.DB
schema.Tabler
}
func (c customerDo) Debug() ICustomerDo {
return c.withDO(c.DO.Debug())
}
func (c customerDo) WithContext(ctx context.Context) ICustomerDo {
return c.withDO(c.DO.WithContext(ctx))
}
func (c customerDo) ReadDB() ICustomerDo {
return c.Clauses(dbresolver.Read)
}
func (c customerDo) WriteDB() ICustomerDo {
return c.Clauses(dbresolver.Write)
}
func (c customerDo) Session(config *gorm.Session) ICustomerDo {
return c.withDO(c.DO.Session(config))
}
func (c customerDo) Clauses(conds ...clause.Expression) ICustomerDo {
return c.withDO(c.DO.Clauses(conds...))
}
func (c customerDo) Returning(value interface{}, columns ...string) ICustomerDo {
return c.withDO(c.DO.Returning(value, columns...))
}
func (c customerDo) Not(conds ...gen.Condition) ICustomerDo {
return c.withDO(c.DO.Not(conds...))
}
func (c customerDo) Or(conds ...gen.Condition) ICustomerDo {
return c.withDO(c.DO.Or(conds...))
}
func (c customerDo) Select(conds ...field.Expr) ICustomerDo {
return c.withDO(c.DO.Select(conds...))
}
func (c customerDo) Where(conds ...gen.Condition) ICustomerDo {
return c.withDO(c.DO.Where(conds...))
}
func (c customerDo) Order(conds ...field.Expr) ICustomerDo {
return c.withDO(c.DO.Order(conds...))
}
func (c customerDo) Distinct(cols ...field.Expr) ICustomerDo {
return c.withDO(c.DO.Distinct(cols...))
}
func (c customerDo) Omit(cols ...field.Expr) ICustomerDo {
return c.withDO(c.DO.Omit(cols...))
}
func (c customerDo) Join(table schema.Tabler, on ...field.Expr) ICustomerDo {
return c.withDO(c.DO.Join(table, on...))
}
func (c customerDo) LeftJoin(table schema.Tabler, on ...field.Expr) ICustomerDo {
return c.withDO(c.DO.LeftJoin(table, on...))
}
func (c customerDo) RightJoin(table schema.Tabler, on ...field.Expr) ICustomerDo {
return c.withDO(c.DO.RightJoin(table, on...))
}
func (c customerDo) Group(cols ...field.Expr) ICustomerDo {
return c.withDO(c.DO.Group(cols...))
}
func (c customerDo) Having(conds ...gen.Condition) ICustomerDo {
return c.withDO(c.DO.Having(conds...))
}
func (c customerDo) Limit(limit int) ICustomerDo {
return c.withDO(c.DO.Limit(limit))
}
func (c customerDo) Offset(offset int) ICustomerDo {
return c.withDO(c.DO.Offset(offset))
}
func (c customerDo) Scopes(funcs ...func(gen.Dao) gen.Dao) ICustomerDo {
return c.withDO(c.DO.Scopes(funcs...))
}
func (c customerDo) Unscoped() ICustomerDo {
return c.withDO(c.DO.Unscoped())
}
func (c customerDo) Create(values ...*models.Customer) error {
if len(values) == 0 {
return nil
}
return c.DO.Create(values)
}
func (c customerDo) CreateInBatches(values []*models.Customer, batchSize int) error {
return c.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (c customerDo) Save(values ...*models.Customer) error {
if len(values) == 0 {
return nil
}
return c.DO.Save(values)
}
func (c customerDo) First() (*models.Customer, error) {
if result, err := c.DO.First(); err != nil {
return nil, err
} else {
return result.(*models.Customer), nil
}
}
func (c customerDo) Take() (*models.Customer, error) {
if result, err := c.DO.Take(); err != nil {
return nil, err
} else {
return result.(*models.Customer), nil
}
}
func (c customerDo) Last() (*models.Customer, error) {
if result, err := c.DO.Last(); err != nil {
return nil, err
} else {
return result.(*models.Customer), nil
}
}
func (c customerDo) Find() ([]*models.Customer, error) {
result, err := c.DO.Find()
return result.([]*models.Customer), err
}
func (c customerDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.Customer, err error) {
buf := make([]*models.Customer, 0, batchSize)
err = c.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (c customerDo) FindInBatches(result *[]*models.Customer, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return c.DO.FindInBatches(result, batchSize, fc)
}
func (c customerDo) Attrs(attrs ...field.AssignExpr) ICustomerDo {
return c.withDO(c.DO.Attrs(attrs...))
}
func (c customerDo) Assign(attrs ...field.AssignExpr) ICustomerDo {
return c.withDO(c.DO.Assign(attrs...))
}
func (c customerDo) Joins(fields ...field.RelationField) ICustomerDo {
for _, _f := range fields {
c = *c.withDO(c.DO.Joins(_f))
}
return &c
}
func (c customerDo) Preload(fields ...field.RelationField) ICustomerDo {
for _, _f := range fields {
c = *c.withDO(c.DO.Preload(_f))
}
return &c
}
func (c customerDo) FirstOrInit() (*models.Customer, error) {
if result, err := c.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*models.Customer), nil
}
}
func (c customerDo) FirstOrCreate() (*models.Customer, error) {
if result, err := c.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*models.Customer), nil
}
}
func (c customerDo) FindByPage(offset int, limit int) (result []*models.Customer, count int64, err error) {
result, err = c.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = c.Offset(-1).Limit(-1).Count()
return
}
func (c customerDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = c.Count()
if err != nil {
return
}
err = c.Offset(offset).Limit(limit).Scan(result)
return
}
func (c customerDo) Scan(result interface{}) (err error) {
return c.DO.Scan(result)
}
func (c customerDo) Delete(models ...*models.Customer) (result gen.ResultInfo, err error) {
return c.DO.Delete(models)
}
func (c *customerDo) withDO(do gen.Dao) *customerDo {
c.DO = *do.(*gen.DO)
return c
}

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.Customer{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.Customer{}) fail: %s", err)
}
}
func Test_customerQuery(t *testing.T) {
customer := newCustomer(_gen_test_db)
customer = *customer.As(customer.TableName())
_do := customer.WithContext(context.Background()).Debug()
primaryKey := field.NewString(customer.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <customers> fail:", err)
return
}
_, ok := customer.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from customer success")
}
err = _do.Create(&models.Customer{})
if err != nil {
t.Error("create item in table <customers> fail:", err)
}
err = _do.Save(&models.Customer{})
if err != nil {
t.Error("create item in table <customers> fail:", err)
}
err = _do.CreateInBatches([]*models.Customer{{}, {}}, 10)
if err != nil {
t.Error("create item in table <customers> fail:", err)
}
_, err = _do.Select(customer.ALL).Take()
if err != nil {
t.Error("Take() on table <customers> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <customers> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <customers> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <customers> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.Customer{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <customers> fail:", err)
}
_, err = _do.Select(customer.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <customers> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <customers> fail:", err)
}
_, err = _do.Select(customer.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <customers> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <customers> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <customers> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <customers> fail:", err)
}
_, err = _do.ScanByPage(&models.Customer{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <customers> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <customers> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <customers> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <customers> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <customers> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <customers> fail:", err)
}
}

View File

@@ -17,65 +17,25 @@ import (
var ( var (
Q = new(Query) Q = new(Query)
Customer *customer Post *post
Order *order
PrepTask *prepTask
ProductType *productType
Shift *shift
Task *task
TeamTask *teamTask
TeamType *teamType
WorkArea *workArea
Worker *worker
Workshop *workshop
) )
func SetDefault(db *gorm.DB, opts ...gen.DOOption) { func SetDefault(db *gorm.DB, opts ...gen.DOOption) {
*Q = *Use(db, opts...) *Q = *Use(db, opts...)
Customer = &Q.Customer Post = &Q.Post
Order = &Q.Order
PrepTask = &Q.PrepTask
ProductType = &Q.ProductType
Shift = &Q.Shift
Task = &Q.Task
TeamTask = &Q.TeamTask
TeamType = &Q.TeamType
WorkArea = &Q.WorkArea
Worker = &Q.Worker
Workshop = &Q.Workshop
} }
func Use(db *gorm.DB, opts ...gen.DOOption) *Query { func Use(db *gorm.DB, opts ...gen.DOOption) *Query {
return &Query{ return &Query{
db: db, db: db,
Customer: newCustomer(db, opts...), Post: newPost(db, opts...),
Order: newOrder(db, opts...),
PrepTask: newPrepTask(db, opts...),
ProductType: newProductType(db, opts...),
Shift: newShift(db, opts...),
Task: newTask(db, opts...),
TeamTask: newTeamTask(db, opts...),
TeamType: newTeamType(db, opts...),
WorkArea: newWorkArea(db, opts...),
Worker: newWorker(db, opts...),
Workshop: newWorkshop(db, opts...),
} }
} }
type Query struct { type Query struct {
db *gorm.DB db *gorm.DB
Customer customer Post post
Order order
PrepTask prepTask
ProductType productType
Shift shift
Task task
TeamTask teamTask
TeamType teamType
WorkArea workArea
Worker worker
Workshop workshop
} }
func (q *Query) Available() bool { return q.db != nil } func (q *Query) Available() bool { return q.db != nil }
@@ -83,17 +43,7 @@ func (q *Query) Available() bool { return q.db != nil }
func (q *Query) clone(db *gorm.DB) *Query { func (q *Query) clone(db *gorm.DB) *Query {
return &Query{ return &Query{
db: db, db: db,
Customer: q.Customer.clone(db), Post: q.Post.clone(db),
Order: q.Order.clone(db),
PrepTask: q.PrepTask.clone(db),
ProductType: q.ProductType.clone(db),
Shift: q.Shift.clone(db),
Task: q.Task.clone(db),
TeamTask: q.TeamTask.clone(db),
TeamType: q.TeamType.clone(db),
WorkArea: q.WorkArea.clone(db),
Worker: q.Worker.clone(db),
Workshop: q.Workshop.clone(db),
} }
} }
@@ -108,47 +58,17 @@ func (q *Query) WriteDB() *Query {
func (q *Query) ReplaceDB(db *gorm.DB) *Query { func (q *Query) ReplaceDB(db *gorm.DB) *Query {
return &Query{ return &Query{
db: db, db: db,
Customer: q.Customer.replaceDB(db), Post: q.Post.replaceDB(db),
Order: q.Order.replaceDB(db),
PrepTask: q.PrepTask.replaceDB(db),
ProductType: q.ProductType.replaceDB(db),
Shift: q.Shift.replaceDB(db),
Task: q.Task.replaceDB(db),
TeamTask: q.TeamTask.replaceDB(db),
TeamType: q.TeamType.replaceDB(db),
WorkArea: q.WorkArea.replaceDB(db),
Worker: q.Worker.replaceDB(db),
Workshop: q.Workshop.replaceDB(db),
} }
} }
type queryCtx struct { type queryCtx struct {
Customer ICustomerDo Post IPostDo
Order IOrderDo
PrepTask IPrepTaskDo
ProductType IProductTypeDo
Shift IShiftDo
Task ITaskDo
TeamTask ITeamTaskDo
TeamType ITeamTypeDo
WorkArea IWorkAreaDo
Worker IWorkerDo
Workshop IWorkshopDo
} }
func (q *Query) WithContext(ctx context.Context) *queryCtx { func (q *Query) WithContext(ctx context.Context) *queryCtx {
return &queryCtx{ return &queryCtx{
Customer: q.Customer.WithContext(ctx), Post: q.Post.WithContext(ctx),
Order: q.Order.WithContext(ctx),
PrepTask: q.PrepTask.WithContext(ctx),
ProductType: q.ProductType.WithContext(ctx),
Shift: q.Shift.WithContext(ctx),
Task: q.Task.WithContext(ctx),
TeamTask: q.TeamTask.WithContext(ctx),
TeamType: q.TeamType.WithContext(ctx),
WorkArea: q.WorkArea.WithContext(ctx),
Worker: q.Worker.WithContext(ctx),
Workshop: q.Workshop.WithContext(ctx),
} }
} }

View File

@@ -77,17 +77,7 @@ func Test_WithContext(t *testing.T) {
qCtx := query.WithContext(context.WithValue(context.Background(), key, value)) qCtx := query.WithContext(context.WithValue(context.Background(), key, value))
for _, ctx := range []context.Context{ for _, ctx := range []context.Context{
qCtx.Customer.UnderlyingDB().Statement.Context, qCtx.Post.UnderlyingDB().Statement.Context,
qCtx.Order.UnderlyingDB().Statement.Context,
qCtx.PrepTask.UnderlyingDB().Statement.Context,
qCtx.ProductType.UnderlyingDB().Statement.Context,
qCtx.Shift.UnderlyingDB().Statement.Context,
qCtx.Task.UnderlyingDB().Statement.Context,
qCtx.TeamTask.UnderlyingDB().Statement.Context,
qCtx.TeamType.UnderlyingDB().Statement.Context,
qCtx.WorkArea.UnderlyingDB().Statement.Context,
qCtx.Worker.UnderlyingDB().Statement.Context,
qCtx.Workshop.UnderlyingDB().Statement.Context,
} { } {
if v := ctx.Value(key); v != value { if v := ctx.Value(key); v != value {
t.Errorf("get value from context fail, expect %q, got %q", value, v) t.Errorf("get value from context fail, expect %q, got %q", value, v)

File diff suppressed because it is too large Load Diff

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.Order{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.Order{}) fail: %s", err)
}
}
func Test_orderQuery(t *testing.T) {
order := newOrder(_gen_test_db)
order = *order.As(order.TableName())
_do := order.WithContext(context.Background()).Debug()
primaryKey := field.NewString(order.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <orders> fail:", err)
return
}
_, ok := order.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from order success")
}
err = _do.Create(&models.Order{})
if err != nil {
t.Error("create item in table <orders> fail:", err)
}
err = _do.Save(&models.Order{})
if err != nil {
t.Error("create item in table <orders> fail:", err)
}
err = _do.CreateInBatches([]*models.Order{{}, {}}, 10)
if err != nil {
t.Error("create item in table <orders> fail:", err)
}
_, err = _do.Select(order.ALL).Take()
if err != nil {
t.Error("Take() on table <orders> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <orders> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <orders> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <orders> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.Order{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <orders> fail:", err)
}
_, err = _do.Select(order.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <orders> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <orders> fail:", err)
}
_, err = _do.Select(order.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <orders> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <orders> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <orders> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <orders> fail:", err)
}
_, err = _do.ScanByPage(&models.Order{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <orders> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <orders> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <orders> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <orders> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <orders> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <orders> fail:", err)
}
}

383
internal/dal/posts.gen.go Normal file
View File

@@ -0,0 +1,383 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newPost(db *gorm.DB, opts ...gen.DOOption) post {
_post := post{}
_post.postDo.UseDB(db, opts...)
_post.postDo.UseModel(&models.Post{})
tableName := _post.postDo.TableName()
_post.ALL = field.NewAsterisk(tableName)
_post.Id = field.NewUint(tableName, "id")
_post.Text = field.NewString(tableName, "text")
_post.fillFieldMap()
return _post
}
type post struct {
postDo
ALL field.Asterisk
Id field.Uint
Text field.String
fieldMap map[string]field.Expr
}
func (p post) Table(newTableName string) *post {
p.postDo.UseTable(newTableName)
return p.updateTableName(newTableName)
}
func (p post) As(alias string) *post {
p.postDo.DO = *(p.postDo.As(alias).(*gen.DO))
return p.updateTableName(alias)
}
func (p *post) updateTableName(table string) *post {
p.ALL = field.NewAsterisk(table)
p.Id = field.NewUint(table, "id")
p.Text = field.NewString(table, "text")
p.fillFieldMap()
return p
}
func (p *post) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := p.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (p *post) fillFieldMap() {
p.fieldMap = make(map[string]field.Expr, 2)
p.fieldMap["id"] = p.Id
p.fieldMap["text"] = p.Text
}
func (p post) clone(db *gorm.DB) post {
p.postDo.ReplaceConnPool(db.Statement.ConnPool)
return p
}
func (p post) replaceDB(db *gorm.DB) post {
p.postDo.ReplaceDB(db)
return p
}
type postDo struct{ gen.DO }
type IPostDo interface {
gen.SubQuery
Debug() IPostDo
WithContext(ctx context.Context) IPostDo
WithResult(fc func(tx gen.Dao)) gen.ResultInfo
ReplaceDB(db *gorm.DB)
ReadDB() IPostDo
WriteDB() IPostDo
As(alias string) gen.Dao
Session(config *gorm.Session) IPostDo
Columns(cols ...field.Expr) gen.Columns
Clauses(conds ...clause.Expression) IPostDo
Not(conds ...gen.Condition) IPostDo
Or(conds ...gen.Condition) IPostDo
Select(conds ...field.Expr) IPostDo
Where(conds ...gen.Condition) IPostDo
Order(conds ...field.Expr) IPostDo
Distinct(cols ...field.Expr) IPostDo
Omit(cols ...field.Expr) IPostDo
Join(table schema.Tabler, on ...field.Expr) IPostDo
LeftJoin(table schema.Tabler, on ...field.Expr) IPostDo
RightJoin(table schema.Tabler, on ...field.Expr) IPostDo
Group(cols ...field.Expr) IPostDo
Having(conds ...gen.Condition) IPostDo
Limit(limit int) IPostDo
Offset(offset int) IPostDo
Count() (count int64, err error)
Scopes(funcs ...func(gen.Dao) gen.Dao) IPostDo
Unscoped() IPostDo
Create(values ...*models.Post) error
CreateInBatches(values []*models.Post, batchSize int) error
Save(values ...*models.Post) error
First() (*models.Post, error)
Take() (*models.Post, error)
Last() (*models.Post, error)
Find() ([]*models.Post, error)
FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.Post, err error)
FindInBatches(result *[]*models.Post, batchSize int, fc func(tx gen.Dao, batch int) error) error
Pluck(column field.Expr, dest interface{}) error
Delete(...*models.Post) (info gen.ResultInfo, err error)
Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
Updates(value interface{}) (info gen.ResultInfo, err error)
UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
UpdateFrom(q gen.SubQuery) gen.Dao
Attrs(attrs ...field.AssignExpr) IPostDo
Assign(attrs ...field.AssignExpr) IPostDo
Joins(fields ...field.RelationField) IPostDo
Preload(fields ...field.RelationField) IPostDo
FirstOrInit() (*models.Post, error)
FirstOrCreate() (*models.Post, error)
FindByPage(offset int, limit int) (result []*models.Post, count int64, err error)
ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
Scan(result interface{}) (err error)
Returning(value interface{}, columns ...string) IPostDo
UnderlyingDB() *gorm.DB
schema.Tabler
}
func (p postDo) Debug() IPostDo {
return p.withDO(p.DO.Debug())
}
func (p postDo) WithContext(ctx context.Context) IPostDo {
return p.withDO(p.DO.WithContext(ctx))
}
func (p postDo) ReadDB() IPostDo {
return p.Clauses(dbresolver.Read)
}
func (p postDo) WriteDB() IPostDo {
return p.Clauses(dbresolver.Write)
}
func (p postDo) Session(config *gorm.Session) IPostDo {
return p.withDO(p.DO.Session(config))
}
func (p postDo) Clauses(conds ...clause.Expression) IPostDo {
return p.withDO(p.DO.Clauses(conds...))
}
func (p postDo) Returning(value interface{}, columns ...string) IPostDo {
return p.withDO(p.DO.Returning(value, columns...))
}
func (p postDo) Not(conds ...gen.Condition) IPostDo {
return p.withDO(p.DO.Not(conds...))
}
func (p postDo) Or(conds ...gen.Condition) IPostDo {
return p.withDO(p.DO.Or(conds...))
}
func (p postDo) Select(conds ...field.Expr) IPostDo {
return p.withDO(p.DO.Select(conds...))
}
func (p postDo) Where(conds ...gen.Condition) IPostDo {
return p.withDO(p.DO.Where(conds...))
}
func (p postDo) Order(conds ...field.Expr) IPostDo {
return p.withDO(p.DO.Order(conds...))
}
func (p postDo) Distinct(cols ...field.Expr) IPostDo {
return p.withDO(p.DO.Distinct(cols...))
}
func (p postDo) Omit(cols ...field.Expr) IPostDo {
return p.withDO(p.DO.Omit(cols...))
}
func (p postDo) Join(table schema.Tabler, on ...field.Expr) IPostDo {
return p.withDO(p.DO.Join(table, on...))
}
func (p postDo) LeftJoin(table schema.Tabler, on ...field.Expr) IPostDo {
return p.withDO(p.DO.LeftJoin(table, on...))
}
func (p postDo) RightJoin(table schema.Tabler, on ...field.Expr) IPostDo {
return p.withDO(p.DO.RightJoin(table, on...))
}
func (p postDo) Group(cols ...field.Expr) IPostDo {
return p.withDO(p.DO.Group(cols...))
}
func (p postDo) Having(conds ...gen.Condition) IPostDo {
return p.withDO(p.DO.Having(conds...))
}
func (p postDo) Limit(limit int) IPostDo {
return p.withDO(p.DO.Limit(limit))
}
func (p postDo) Offset(offset int) IPostDo {
return p.withDO(p.DO.Offset(offset))
}
func (p postDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IPostDo {
return p.withDO(p.DO.Scopes(funcs...))
}
func (p postDo) Unscoped() IPostDo {
return p.withDO(p.DO.Unscoped())
}
func (p postDo) Create(values ...*models.Post) error {
if len(values) == 0 {
return nil
}
return p.DO.Create(values)
}
func (p postDo) CreateInBatches(values []*models.Post, batchSize int) error {
return p.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (p postDo) Save(values ...*models.Post) error {
if len(values) == 0 {
return nil
}
return p.DO.Save(values)
}
func (p postDo) First() (*models.Post, error) {
if result, err := p.DO.First(); err != nil {
return nil, err
} else {
return result.(*models.Post), nil
}
}
func (p postDo) Take() (*models.Post, error) {
if result, err := p.DO.Take(); err != nil {
return nil, err
} else {
return result.(*models.Post), nil
}
}
func (p postDo) Last() (*models.Post, error) {
if result, err := p.DO.Last(); err != nil {
return nil, err
} else {
return result.(*models.Post), nil
}
}
func (p postDo) Find() ([]*models.Post, error) {
result, err := p.DO.Find()
return result.([]*models.Post), err
}
func (p postDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.Post, err error) {
buf := make([]*models.Post, 0, batchSize)
err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (p postDo) FindInBatches(result *[]*models.Post, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return p.DO.FindInBatches(result, batchSize, fc)
}
func (p postDo) Attrs(attrs ...field.AssignExpr) IPostDo {
return p.withDO(p.DO.Attrs(attrs...))
}
func (p postDo) Assign(attrs ...field.AssignExpr) IPostDo {
return p.withDO(p.DO.Assign(attrs...))
}
func (p postDo) Joins(fields ...field.RelationField) IPostDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Joins(_f))
}
return &p
}
func (p postDo) Preload(fields ...field.RelationField) IPostDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Preload(_f))
}
return &p
}
func (p postDo) FirstOrInit() (*models.Post, error) {
if result, err := p.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*models.Post), nil
}
}
func (p postDo) FirstOrCreate() (*models.Post, error) {
if result, err := p.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*models.Post), nil
}
}
func (p postDo) FindByPage(offset int, limit int) (result []*models.Post, count int64, err error) {
result, err = p.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = p.Offset(-1).Limit(-1).Count()
return
}
func (p postDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = p.Count()
if err != nil {
return
}
err = p.Offset(offset).Limit(limit).Scan(result)
return
}
func (p postDo) Scan(result interface{}) (err error) {
return p.DO.Scan(result)
}
func (p postDo) Delete(models ...*models.Post) (result gen.ResultInfo, err error) {
return p.DO.Delete(models)
}
func (p *postDo) withDO(do gen.Dao) *postDo {
p.DO = *do.(*gen.DO)
return p
}

View File

@@ -0,0 +1,145 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.Post{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.Post{}) fail: %s", err)
}
}
func Test_postQuery(t *testing.T) {
post := newPost(_gen_test_db)
post = *post.As(post.TableName())
_do := post.WithContext(context.Background()).Debug()
primaryKey := field.NewString(post.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <posts> fail:", err)
return
}
_, ok := post.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from post success")
}
err = _do.Create(&models.Post{})
if err != nil {
t.Error("create item in table <posts> fail:", err)
}
err = _do.Save(&models.Post{})
if err != nil {
t.Error("create item in table <posts> fail:", err)
}
err = _do.CreateInBatches([]*models.Post{{}, {}}, 10)
if err != nil {
t.Error("create item in table <posts> fail:", err)
}
_, err = _do.Select(post.ALL).Take()
if err != nil {
t.Error("Take() on table <posts> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <posts> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <posts> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <posts> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.Post{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <posts> fail:", err)
}
_, err = _do.Select(post.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <posts> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <posts> fail:", err)
}
_, err = _do.Select(post.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <posts> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <posts> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <posts> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <posts> fail:", err)
}
_, err = _do.ScanByPage(&models.Post{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <posts> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <posts> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <posts> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <posts> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <posts> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <posts> fail:", err)
}
}

View File

@@ -1,935 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newPrepTask(db *gorm.DB, opts ...gen.DOOption) prepTask {
_prepTask := prepTask{}
_prepTask.prepTaskDo.UseDB(db, opts...)
_prepTask.prepTaskDo.UseModel(&models.PrepTask{})
tableName := _prepTask.prepTaskDo.TableName()
_prepTask.ALL = field.NewAsterisk(tableName)
_prepTask.Id = field.NewUint(tableName, "id")
_prepTask.Status = field.NewString(tableName, "status")
_prepTask.Description = field.NewString(tableName, "description")
_prepTask.TaskId = field.NewUint(tableName, "task_id")
_prepTask.WorkAreaId = field.NewUint(tableName, "work_area_id")
_prepTask.CreatedAt = field.NewInt64(tableName, "created_at")
_prepTask.Deadline = field.NewInt64(tableName, "deadline")
_prepTask.Task = prepTaskBelongsToTask{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("Task", "models.Task"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.ProductType", "models.ProductType"),
},
Order: struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Task.Order", "models.Order"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.Order.ProductType", "models.ProductType"),
},
Customer: struct {
field.RelationField
Orders struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Task.Order.Customer", "models.Customer"),
Orders: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.Order.Customer.Orders", "models.Order"),
},
},
Tasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.Order.Tasks", "models.Task"),
},
},
PrepTasks: struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
Workshop struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
}
}
}{
RelationField: field.NewRelation("Task.PrepTasks", "models.PrepTask"),
Task: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.Task", "models.Task"),
},
WorkArea: struct {
field.RelationField
Workshop struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea", "models.WorkArea"),
Workshop: struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Workshop", "models.Workshop"),
WorkAreas: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Workshop.WorkAreas", "models.WorkArea"),
},
Workers: struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Workshop.Workers", "models.Worker"),
Workshop: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Workshop.Workers.Workshop", "models.Workshop"),
},
TeamTasks: struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Workshop.Workers.TeamTasks", "models.TeamTask"),
TeamType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Workshop.Workers.TeamTasks.TeamType", "models.TeamType"),
},
TeamLeader: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Workshop.Workers.TeamTasks.TeamLeader", "models.Worker"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Workshop.Workers.TeamTasks.WorkArea", "models.WorkArea"),
},
TeamMembers: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Workshop.Workers.TeamTasks.TeamMembers", "models.Worker"),
},
},
},
Tasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Workshop.Tasks", "models.Task"),
},
},
PrepTasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.PrepTasks", "models.PrepTask"),
},
Shifts: struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Shifts", "models.Shift"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Shifts.ProductType", "models.ProductType"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.Shifts.WorkArea", "models.WorkArea"),
},
},
TeamTasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.PrepTasks.WorkArea.TeamTasks", "models.TeamTask"),
},
},
},
Workshops: struct {
field.RelationField
}{
RelationField: field.NewRelation("Task.Workshops", "models.Workshop"),
},
}
_prepTask.WorkArea = prepTaskBelongsToWorkArea{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("WorkArea", "models.WorkArea"),
}
_prepTask.fillFieldMap()
return _prepTask
}
type prepTask struct {
prepTaskDo
ALL field.Asterisk
Id field.Uint
Status field.String
Description field.String
TaskId field.Uint
WorkAreaId field.Uint
CreatedAt field.Int64
Deadline field.Int64
Task prepTaskBelongsToTask
WorkArea prepTaskBelongsToWorkArea
fieldMap map[string]field.Expr
}
func (p prepTask) Table(newTableName string) *prepTask {
p.prepTaskDo.UseTable(newTableName)
return p.updateTableName(newTableName)
}
func (p prepTask) As(alias string) *prepTask {
p.prepTaskDo.DO = *(p.prepTaskDo.As(alias).(*gen.DO))
return p.updateTableName(alias)
}
func (p *prepTask) updateTableName(table string) *prepTask {
p.ALL = field.NewAsterisk(table)
p.Id = field.NewUint(table, "id")
p.Status = field.NewString(table, "status")
p.Description = field.NewString(table, "description")
p.TaskId = field.NewUint(table, "task_id")
p.WorkAreaId = field.NewUint(table, "work_area_id")
p.CreatedAt = field.NewInt64(table, "created_at")
p.Deadline = field.NewInt64(table, "deadline")
p.fillFieldMap()
return p
}
func (p *prepTask) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := p.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (p *prepTask) fillFieldMap() {
p.fieldMap = make(map[string]field.Expr, 9)
p.fieldMap["id"] = p.Id
p.fieldMap["status"] = p.Status
p.fieldMap["description"] = p.Description
p.fieldMap["task_id"] = p.TaskId
p.fieldMap["work_area_id"] = p.WorkAreaId
p.fieldMap["created_at"] = p.CreatedAt
p.fieldMap["deadline"] = p.Deadline
}
func (p prepTask) clone(db *gorm.DB) prepTask {
p.prepTaskDo.ReplaceConnPool(db.Statement.ConnPool)
return p
}
func (p prepTask) replaceDB(db *gorm.DB) prepTask {
p.prepTaskDo.ReplaceDB(db)
return p
}
type prepTaskBelongsToTask struct {
db *gorm.DB
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
Workshop struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
}
}
}
Workshops struct {
field.RelationField
}
}
func (a prepTaskBelongsToTask) Where(conds ...field.Expr) *prepTaskBelongsToTask {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a prepTaskBelongsToTask) WithContext(ctx context.Context) *prepTaskBelongsToTask {
a.db = a.db.WithContext(ctx)
return &a
}
func (a prepTaskBelongsToTask) Session(session *gorm.Session) *prepTaskBelongsToTask {
a.db = a.db.Session(session)
return &a
}
func (a prepTaskBelongsToTask) Model(m *models.PrepTask) *prepTaskBelongsToTaskTx {
return &prepTaskBelongsToTaskTx{a.db.Model(m).Association(a.Name())}
}
type prepTaskBelongsToTaskTx struct{ tx *gorm.Association }
func (a prepTaskBelongsToTaskTx) Find() (result *models.Task, err error) {
return result, a.tx.Find(&result)
}
func (a prepTaskBelongsToTaskTx) Append(values ...*models.Task) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a prepTaskBelongsToTaskTx) Replace(values ...*models.Task) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a prepTaskBelongsToTaskTx) Delete(values ...*models.Task) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a prepTaskBelongsToTaskTx) Clear() error {
return a.tx.Clear()
}
func (a prepTaskBelongsToTaskTx) Count() int64 {
return a.tx.Count()
}
type prepTaskBelongsToWorkArea struct {
db *gorm.DB
field.RelationField
}
func (a prepTaskBelongsToWorkArea) Where(conds ...field.Expr) *prepTaskBelongsToWorkArea {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a prepTaskBelongsToWorkArea) WithContext(ctx context.Context) *prepTaskBelongsToWorkArea {
a.db = a.db.WithContext(ctx)
return &a
}
func (a prepTaskBelongsToWorkArea) Session(session *gorm.Session) *prepTaskBelongsToWorkArea {
a.db = a.db.Session(session)
return &a
}
func (a prepTaskBelongsToWorkArea) Model(m *models.PrepTask) *prepTaskBelongsToWorkAreaTx {
return &prepTaskBelongsToWorkAreaTx{a.db.Model(m).Association(a.Name())}
}
type prepTaskBelongsToWorkAreaTx struct{ tx *gorm.Association }
func (a prepTaskBelongsToWorkAreaTx) Find() (result *models.WorkArea, err error) {
return result, a.tx.Find(&result)
}
func (a prepTaskBelongsToWorkAreaTx) Append(values ...*models.WorkArea) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a prepTaskBelongsToWorkAreaTx) Replace(values ...*models.WorkArea) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a prepTaskBelongsToWorkAreaTx) Delete(values ...*models.WorkArea) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a prepTaskBelongsToWorkAreaTx) Clear() error {
return a.tx.Clear()
}
func (a prepTaskBelongsToWorkAreaTx) Count() int64 {
return a.tx.Count()
}
type prepTaskDo struct{ gen.DO }
type IPrepTaskDo interface {
gen.SubQuery
Debug() IPrepTaskDo
WithContext(ctx context.Context) IPrepTaskDo
WithResult(fc func(tx gen.Dao)) gen.ResultInfo
ReplaceDB(db *gorm.DB)
ReadDB() IPrepTaskDo
WriteDB() IPrepTaskDo
As(alias string) gen.Dao
Session(config *gorm.Session) IPrepTaskDo
Columns(cols ...field.Expr) gen.Columns
Clauses(conds ...clause.Expression) IPrepTaskDo
Not(conds ...gen.Condition) IPrepTaskDo
Or(conds ...gen.Condition) IPrepTaskDo
Select(conds ...field.Expr) IPrepTaskDo
Where(conds ...gen.Condition) IPrepTaskDo
Order(conds ...field.Expr) IPrepTaskDo
Distinct(cols ...field.Expr) IPrepTaskDo
Omit(cols ...field.Expr) IPrepTaskDo
Join(table schema.Tabler, on ...field.Expr) IPrepTaskDo
LeftJoin(table schema.Tabler, on ...field.Expr) IPrepTaskDo
RightJoin(table schema.Tabler, on ...field.Expr) IPrepTaskDo
Group(cols ...field.Expr) IPrepTaskDo
Having(conds ...gen.Condition) IPrepTaskDo
Limit(limit int) IPrepTaskDo
Offset(offset int) IPrepTaskDo
Count() (count int64, err error)
Scopes(funcs ...func(gen.Dao) gen.Dao) IPrepTaskDo
Unscoped() IPrepTaskDo
Create(values ...*models.PrepTask) error
CreateInBatches(values []*models.PrepTask, batchSize int) error
Save(values ...*models.PrepTask) error
First() (*models.PrepTask, error)
Take() (*models.PrepTask, error)
Last() (*models.PrepTask, error)
Find() ([]*models.PrepTask, error)
FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.PrepTask, err error)
FindInBatches(result *[]*models.PrepTask, batchSize int, fc func(tx gen.Dao, batch int) error) error
Pluck(column field.Expr, dest interface{}) error
Delete(...*models.PrepTask) (info gen.ResultInfo, err error)
Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
Updates(value interface{}) (info gen.ResultInfo, err error)
UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
UpdateFrom(q gen.SubQuery) gen.Dao
Attrs(attrs ...field.AssignExpr) IPrepTaskDo
Assign(attrs ...field.AssignExpr) IPrepTaskDo
Joins(fields ...field.RelationField) IPrepTaskDo
Preload(fields ...field.RelationField) IPrepTaskDo
FirstOrInit() (*models.PrepTask, error)
FirstOrCreate() (*models.PrepTask, error)
FindByPage(offset int, limit int) (result []*models.PrepTask, count int64, err error)
ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
Scan(result interface{}) (err error)
Returning(value interface{}, columns ...string) IPrepTaskDo
UnderlyingDB() *gorm.DB
schema.Tabler
}
func (p prepTaskDo) Debug() IPrepTaskDo {
return p.withDO(p.DO.Debug())
}
func (p prepTaskDo) WithContext(ctx context.Context) IPrepTaskDo {
return p.withDO(p.DO.WithContext(ctx))
}
func (p prepTaskDo) ReadDB() IPrepTaskDo {
return p.Clauses(dbresolver.Read)
}
func (p prepTaskDo) WriteDB() IPrepTaskDo {
return p.Clauses(dbresolver.Write)
}
func (p prepTaskDo) Session(config *gorm.Session) IPrepTaskDo {
return p.withDO(p.DO.Session(config))
}
func (p prepTaskDo) Clauses(conds ...clause.Expression) IPrepTaskDo {
return p.withDO(p.DO.Clauses(conds...))
}
func (p prepTaskDo) Returning(value interface{}, columns ...string) IPrepTaskDo {
return p.withDO(p.DO.Returning(value, columns...))
}
func (p prepTaskDo) Not(conds ...gen.Condition) IPrepTaskDo {
return p.withDO(p.DO.Not(conds...))
}
func (p prepTaskDo) Or(conds ...gen.Condition) IPrepTaskDo {
return p.withDO(p.DO.Or(conds...))
}
func (p prepTaskDo) Select(conds ...field.Expr) IPrepTaskDo {
return p.withDO(p.DO.Select(conds...))
}
func (p prepTaskDo) Where(conds ...gen.Condition) IPrepTaskDo {
return p.withDO(p.DO.Where(conds...))
}
func (p prepTaskDo) Order(conds ...field.Expr) IPrepTaskDo {
return p.withDO(p.DO.Order(conds...))
}
func (p prepTaskDo) Distinct(cols ...field.Expr) IPrepTaskDo {
return p.withDO(p.DO.Distinct(cols...))
}
func (p prepTaskDo) Omit(cols ...field.Expr) IPrepTaskDo {
return p.withDO(p.DO.Omit(cols...))
}
func (p prepTaskDo) Join(table schema.Tabler, on ...field.Expr) IPrepTaskDo {
return p.withDO(p.DO.Join(table, on...))
}
func (p prepTaskDo) LeftJoin(table schema.Tabler, on ...field.Expr) IPrepTaskDo {
return p.withDO(p.DO.LeftJoin(table, on...))
}
func (p prepTaskDo) RightJoin(table schema.Tabler, on ...field.Expr) IPrepTaskDo {
return p.withDO(p.DO.RightJoin(table, on...))
}
func (p prepTaskDo) Group(cols ...field.Expr) IPrepTaskDo {
return p.withDO(p.DO.Group(cols...))
}
func (p prepTaskDo) Having(conds ...gen.Condition) IPrepTaskDo {
return p.withDO(p.DO.Having(conds...))
}
func (p prepTaskDo) Limit(limit int) IPrepTaskDo {
return p.withDO(p.DO.Limit(limit))
}
func (p prepTaskDo) Offset(offset int) IPrepTaskDo {
return p.withDO(p.DO.Offset(offset))
}
func (p prepTaskDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IPrepTaskDo {
return p.withDO(p.DO.Scopes(funcs...))
}
func (p prepTaskDo) Unscoped() IPrepTaskDo {
return p.withDO(p.DO.Unscoped())
}
func (p prepTaskDo) Create(values ...*models.PrepTask) error {
if len(values) == 0 {
return nil
}
return p.DO.Create(values)
}
func (p prepTaskDo) CreateInBatches(values []*models.PrepTask, batchSize int) error {
return p.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (p prepTaskDo) Save(values ...*models.PrepTask) error {
if len(values) == 0 {
return nil
}
return p.DO.Save(values)
}
func (p prepTaskDo) First() (*models.PrepTask, error) {
if result, err := p.DO.First(); err != nil {
return nil, err
} else {
return result.(*models.PrepTask), nil
}
}
func (p prepTaskDo) Take() (*models.PrepTask, error) {
if result, err := p.DO.Take(); err != nil {
return nil, err
} else {
return result.(*models.PrepTask), nil
}
}
func (p prepTaskDo) Last() (*models.PrepTask, error) {
if result, err := p.DO.Last(); err != nil {
return nil, err
} else {
return result.(*models.PrepTask), nil
}
}
func (p prepTaskDo) Find() ([]*models.PrepTask, error) {
result, err := p.DO.Find()
return result.([]*models.PrepTask), err
}
func (p prepTaskDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.PrepTask, err error) {
buf := make([]*models.PrepTask, 0, batchSize)
err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (p prepTaskDo) FindInBatches(result *[]*models.PrepTask, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return p.DO.FindInBatches(result, batchSize, fc)
}
func (p prepTaskDo) Attrs(attrs ...field.AssignExpr) IPrepTaskDo {
return p.withDO(p.DO.Attrs(attrs...))
}
func (p prepTaskDo) Assign(attrs ...field.AssignExpr) IPrepTaskDo {
return p.withDO(p.DO.Assign(attrs...))
}
func (p prepTaskDo) Joins(fields ...field.RelationField) IPrepTaskDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Joins(_f))
}
return &p
}
func (p prepTaskDo) Preload(fields ...field.RelationField) IPrepTaskDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Preload(_f))
}
return &p
}
func (p prepTaskDo) FirstOrInit() (*models.PrepTask, error) {
if result, err := p.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*models.PrepTask), nil
}
}
func (p prepTaskDo) FirstOrCreate() (*models.PrepTask, error) {
if result, err := p.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*models.PrepTask), nil
}
}
func (p prepTaskDo) FindByPage(offset int, limit int) (result []*models.PrepTask, count int64, err error) {
result, err = p.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = p.Offset(-1).Limit(-1).Count()
return
}
func (p prepTaskDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = p.Count()
if err != nil {
return
}
err = p.Offset(offset).Limit(limit).Scan(result)
return
}
func (p prepTaskDo) Scan(result interface{}) (err error) {
return p.DO.Scan(result)
}
func (p prepTaskDo) Delete(models ...*models.PrepTask) (result gen.ResultInfo, err error) {
return p.DO.Delete(models)
}
func (p *prepTaskDo) withDO(do gen.Dao) *prepTaskDo {
p.DO = *do.(*gen.DO)
return p
}

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.PrepTask{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.PrepTask{}) fail: %s", err)
}
}
func Test_prepTaskQuery(t *testing.T) {
prepTask := newPrepTask(_gen_test_db)
prepTask = *prepTask.As(prepTask.TableName())
_do := prepTask.WithContext(context.Background()).Debug()
primaryKey := field.NewString(prepTask.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <prep_tasks> fail:", err)
return
}
_, ok := prepTask.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from prepTask success")
}
err = _do.Create(&models.PrepTask{})
if err != nil {
t.Error("create item in table <prep_tasks> fail:", err)
}
err = _do.Save(&models.PrepTask{})
if err != nil {
t.Error("create item in table <prep_tasks> fail:", err)
}
err = _do.CreateInBatches([]*models.PrepTask{{}, {}}, 10)
if err != nil {
t.Error("create item in table <prep_tasks> fail:", err)
}
_, err = _do.Select(prepTask.ALL).Take()
if err != nil {
t.Error("Take() on table <prep_tasks> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <prep_tasks> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <prep_tasks> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <prep_tasks> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.PrepTask{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <prep_tasks> fail:", err)
}
_, err = _do.Select(prepTask.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <prep_tasks> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <prep_tasks> fail:", err)
}
_, err = _do.Select(prepTask.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <prep_tasks> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <prep_tasks> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <prep_tasks> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <prep_tasks> fail:", err)
}
_, err = _do.ScanByPage(&models.PrepTask{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <prep_tasks> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <prep_tasks> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <prep_tasks> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <prep_tasks> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <prep_tasks> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <prep_tasks> fail:", err)
}
}

View File

@@ -1,383 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newProductType(db *gorm.DB, opts ...gen.DOOption) productType {
_productType := productType{}
_productType.productTypeDo.UseDB(db, opts...)
_productType.productTypeDo.UseModel(&models.ProductType{})
tableName := _productType.productTypeDo.TableName()
_productType.ALL = field.NewAsterisk(tableName)
_productType.Id = field.NewUint(tableName, "id")
_productType.Name = field.NewString(tableName, "name")
_productType.fillFieldMap()
return _productType
}
type productType struct {
productTypeDo
ALL field.Asterisk
Id field.Uint
Name field.String
fieldMap map[string]field.Expr
}
func (p productType) Table(newTableName string) *productType {
p.productTypeDo.UseTable(newTableName)
return p.updateTableName(newTableName)
}
func (p productType) As(alias string) *productType {
p.productTypeDo.DO = *(p.productTypeDo.As(alias).(*gen.DO))
return p.updateTableName(alias)
}
func (p *productType) updateTableName(table string) *productType {
p.ALL = field.NewAsterisk(table)
p.Id = field.NewUint(table, "id")
p.Name = field.NewString(table, "name")
p.fillFieldMap()
return p
}
func (p *productType) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := p.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (p *productType) fillFieldMap() {
p.fieldMap = make(map[string]field.Expr, 2)
p.fieldMap["id"] = p.Id
p.fieldMap["name"] = p.Name
}
func (p productType) clone(db *gorm.DB) productType {
p.productTypeDo.ReplaceConnPool(db.Statement.ConnPool)
return p
}
func (p productType) replaceDB(db *gorm.DB) productType {
p.productTypeDo.ReplaceDB(db)
return p
}
type productTypeDo struct{ gen.DO }
type IProductTypeDo interface {
gen.SubQuery
Debug() IProductTypeDo
WithContext(ctx context.Context) IProductTypeDo
WithResult(fc func(tx gen.Dao)) gen.ResultInfo
ReplaceDB(db *gorm.DB)
ReadDB() IProductTypeDo
WriteDB() IProductTypeDo
As(alias string) gen.Dao
Session(config *gorm.Session) IProductTypeDo
Columns(cols ...field.Expr) gen.Columns
Clauses(conds ...clause.Expression) IProductTypeDo
Not(conds ...gen.Condition) IProductTypeDo
Or(conds ...gen.Condition) IProductTypeDo
Select(conds ...field.Expr) IProductTypeDo
Where(conds ...gen.Condition) IProductTypeDo
Order(conds ...field.Expr) IProductTypeDo
Distinct(cols ...field.Expr) IProductTypeDo
Omit(cols ...field.Expr) IProductTypeDo
Join(table schema.Tabler, on ...field.Expr) IProductTypeDo
LeftJoin(table schema.Tabler, on ...field.Expr) IProductTypeDo
RightJoin(table schema.Tabler, on ...field.Expr) IProductTypeDo
Group(cols ...field.Expr) IProductTypeDo
Having(conds ...gen.Condition) IProductTypeDo
Limit(limit int) IProductTypeDo
Offset(offset int) IProductTypeDo
Count() (count int64, err error)
Scopes(funcs ...func(gen.Dao) gen.Dao) IProductTypeDo
Unscoped() IProductTypeDo
Create(values ...*models.ProductType) error
CreateInBatches(values []*models.ProductType, batchSize int) error
Save(values ...*models.ProductType) error
First() (*models.ProductType, error)
Take() (*models.ProductType, error)
Last() (*models.ProductType, error)
Find() ([]*models.ProductType, error)
FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.ProductType, err error)
FindInBatches(result *[]*models.ProductType, batchSize int, fc func(tx gen.Dao, batch int) error) error
Pluck(column field.Expr, dest interface{}) error
Delete(...*models.ProductType) (info gen.ResultInfo, err error)
Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
Updates(value interface{}) (info gen.ResultInfo, err error)
UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
UpdateFrom(q gen.SubQuery) gen.Dao
Attrs(attrs ...field.AssignExpr) IProductTypeDo
Assign(attrs ...field.AssignExpr) IProductTypeDo
Joins(fields ...field.RelationField) IProductTypeDo
Preload(fields ...field.RelationField) IProductTypeDo
FirstOrInit() (*models.ProductType, error)
FirstOrCreate() (*models.ProductType, error)
FindByPage(offset int, limit int) (result []*models.ProductType, count int64, err error)
ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
Scan(result interface{}) (err error)
Returning(value interface{}, columns ...string) IProductTypeDo
UnderlyingDB() *gorm.DB
schema.Tabler
}
func (p productTypeDo) Debug() IProductTypeDo {
return p.withDO(p.DO.Debug())
}
func (p productTypeDo) WithContext(ctx context.Context) IProductTypeDo {
return p.withDO(p.DO.WithContext(ctx))
}
func (p productTypeDo) ReadDB() IProductTypeDo {
return p.Clauses(dbresolver.Read)
}
func (p productTypeDo) WriteDB() IProductTypeDo {
return p.Clauses(dbresolver.Write)
}
func (p productTypeDo) Session(config *gorm.Session) IProductTypeDo {
return p.withDO(p.DO.Session(config))
}
func (p productTypeDo) Clauses(conds ...clause.Expression) IProductTypeDo {
return p.withDO(p.DO.Clauses(conds...))
}
func (p productTypeDo) Returning(value interface{}, columns ...string) IProductTypeDo {
return p.withDO(p.DO.Returning(value, columns...))
}
func (p productTypeDo) Not(conds ...gen.Condition) IProductTypeDo {
return p.withDO(p.DO.Not(conds...))
}
func (p productTypeDo) Or(conds ...gen.Condition) IProductTypeDo {
return p.withDO(p.DO.Or(conds...))
}
func (p productTypeDo) Select(conds ...field.Expr) IProductTypeDo {
return p.withDO(p.DO.Select(conds...))
}
func (p productTypeDo) Where(conds ...gen.Condition) IProductTypeDo {
return p.withDO(p.DO.Where(conds...))
}
func (p productTypeDo) Order(conds ...field.Expr) IProductTypeDo {
return p.withDO(p.DO.Order(conds...))
}
func (p productTypeDo) Distinct(cols ...field.Expr) IProductTypeDo {
return p.withDO(p.DO.Distinct(cols...))
}
func (p productTypeDo) Omit(cols ...field.Expr) IProductTypeDo {
return p.withDO(p.DO.Omit(cols...))
}
func (p productTypeDo) Join(table schema.Tabler, on ...field.Expr) IProductTypeDo {
return p.withDO(p.DO.Join(table, on...))
}
func (p productTypeDo) LeftJoin(table schema.Tabler, on ...field.Expr) IProductTypeDo {
return p.withDO(p.DO.LeftJoin(table, on...))
}
func (p productTypeDo) RightJoin(table schema.Tabler, on ...field.Expr) IProductTypeDo {
return p.withDO(p.DO.RightJoin(table, on...))
}
func (p productTypeDo) Group(cols ...field.Expr) IProductTypeDo {
return p.withDO(p.DO.Group(cols...))
}
func (p productTypeDo) Having(conds ...gen.Condition) IProductTypeDo {
return p.withDO(p.DO.Having(conds...))
}
func (p productTypeDo) Limit(limit int) IProductTypeDo {
return p.withDO(p.DO.Limit(limit))
}
func (p productTypeDo) Offset(offset int) IProductTypeDo {
return p.withDO(p.DO.Offset(offset))
}
func (p productTypeDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IProductTypeDo {
return p.withDO(p.DO.Scopes(funcs...))
}
func (p productTypeDo) Unscoped() IProductTypeDo {
return p.withDO(p.DO.Unscoped())
}
func (p productTypeDo) Create(values ...*models.ProductType) error {
if len(values) == 0 {
return nil
}
return p.DO.Create(values)
}
func (p productTypeDo) CreateInBatches(values []*models.ProductType, batchSize int) error {
return p.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (p productTypeDo) Save(values ...*models.ProductType) error {
if len(values) == 0 {
return nil
}
return p.DO.Save(values)
}
func (p productTypeDo) First() (*models.ProductType, error) {
if result, err := p.DO.First(); err != nil {
return nil, err
} else {
return result.(*models.ProductType), nil
}
}
func (p productTypeDo) Take() (*models.ProductType, error) {
if result, err := p.DO.Take(); err != nil {
return nil, err
} else {
return result.(*models.ProductType), nil
}
}
func (p productTypeDo) Last() (*models.ProductType, error) {
if result, err := p.DO.Last(); err != nil {
return nil, err
} else {
return result.(*models.ProductType), nil
}
}
func (p productTypeDo) Find() ([]*models.ProductType, error) {
result, err := p.DO.Find()
return result.([]*models.ProductType), err
}
func (p productTypeDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.ProductType, err error) {
buf := make([]*models.ProductType, 0, batchSize)
err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (p productTypeDo) FindInBatches(result *[]*models.ProductType, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return p.DO.FindInBatches(result, batchSize, fc)
}
func (p productTypeDo) Attrs(attrs ...field.AssignExpr) IProductTypeDo {
return p.withDO(p.DO.Attrs(attrs...))
}
func (p productTypeDo) Assign(attrs ...field.AssignExpr) IProductTypeDo {
return p.withDO(p.DO.Assign(attrs...))
}
func (p productTypeDo) Joins(fields ...field.RelationField) IProductTypeDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Joins(_f))
}
return &p
}
func (p productTypeDo) Preload(fields ...field.RelationField) IProductTypeDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Preload(_f))
}
return &p
}
func (p productTypeDo) FirstOrInit() (*models.ProductType, error) {
if result, err := p.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*models.ProductType), nil
}
}
func (p productTypeDo) FirstOrCreate() (*models.ProductType, error) {
if result, err := p.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*models.ProductType), nil
}
}
func (p productTypeDo) FindByPage(offset int, limit int) (result []*models.ProductType, count int64, err error) {
result, err = p.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = p.Offset(-1).Limit(-1).Count()
return
}
func (p productTypeDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = p.Count()
if err != nil {
return
}
err = p.Offset(offset).Limit(limit).Scan(result)
return
}
func (p productTypeDo) Scan(result interface{}) (err error) {
return p.DO.Scan(result)
}
func (p productTypeDo) Delete(models ...*models.ProductType) (result gen.ResultInfo, err error) {
return p.DO.Delete(models)
}
func (p *productTypeDo) withDO(do gen.Dao) *productTypeDo {
p.DO = *do.(*gen.DO)
return p
}

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.ProductType{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.ProductType{}) fail: %s", err)
}
}
func Test_productTypeQuery(t *testing.T) {
productType := newProductType(_gen_test_db)
productType = *productType.As(productType.TableName())
_do := productType.WithContext(context.Background()).Debug()
primaryKey := field.NewString(productType.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <product_types> fail:", err)
return
}
_, ok := productType.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from productType success")
}
err = _do.Create(&models.ProductType{})
if err != nil {
t.Error("create item in table <product_types> fail:", err)
}
err = _do.Save(&models.ProductType{})
if err != nil {
t.Error("create item in table <product_types> fail:", err)
}
err = _do.CreateInBatches([]*models.ProductType{{}, {}}, 10)
if err != nil {
t.Error("create item in table <product_types> fail:", err)
}
_, err = _do.Select(productType.ALL).Take()
if err != nil {
t.Error("Take() on table <product_types> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <product_types> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <product_types> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <product_types> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.ProductType{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <product_types> fail:", err)
}
_, err = _do.Select(productType.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <product_types> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <product_types> fail:", err)
}
_, err = _do.Select(productType.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <product_types> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <product_types> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <product_types> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <product_types> fail:", err)
}
_, err = _do.ScanByPage(&models.ProductType{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <product_types> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <product_types> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <product_types> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <product_types> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <product_types> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <product_types> fail:", err)
}
}

View File

@@ -1,905 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newShift(db *gorm.DB, opts ...gen.DOOption) shift {
_shift := shift{}
_shift.shiftDo.UseDB(db, opts...)
_shift.shiftDo.UseModel(&models.Shift{})
tableName := _shift.shiftDo.TableName()
_shift.ALL = field.NewAsterisk(tableName)
_shift.Id = field.NewUint(tableName, "id")
_shift.Description = field.NewString(tableName, "description")
_shift.ProductTypeId = field.NewUint(tableName, "product_type_id")
_shift.ProductAmount = field.NewUint(tableName, "product_amount")
_shift.ShiftDate = field.NewInt64(tableName, "shift_date")
_shift.WorkAreaId = field.NewUint(tableName, "work_area_id")
_shift.CreatedAt = field.NewInt64(tableName, "created_at")
_shift.ProductType = shiftBelongsToProductType{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("ProductType", "models.ProductType"),
}
_shift.WorkArea = shiftBelongsToWorkArea{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("WorkArea", "models.WorkArea"),
Workshop: struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
Workshops struct {
field.RelationField
}
}
}{
RelationField: field.NewRelation("WorkArea.Workshop", "models.Workshop"),
WorkAreas: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.WorkAreas", "models.WorkArea"),
},
Workers: struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}{
RelationField: field.NewRelation("WorkArea.Workshop.Workers", "models.Worker"),
Workshop: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Workers.Workshop", "models.Workshop"),
},
TeamTasks: struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkArea.Workshop.Workers.TeamTasks", "models.TeamTask"),
TeamType: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Workers.TeamTasks.TeamType", "models.TeamType"),
},
TeamLeader: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Workers.TeamTasks.TeamLeader", "models.Worker"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Workers.TeamTasks.WorkArea", "models.WorkArea"),
},
TeamMembers: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Workers.TeamTasks.TeamMembers", "models.Worker"),
},
},
},
Tasks: struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
Workshops struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks", "models.Task"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks.ProductType", "models.ProductType"),
},
Order: struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks.Order", "models.Order"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks.Order.ProductType", "models.ProductType"),
},
Customer: struct {
field.RelationField
Orders struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks.Order.Customer", "models.Customer"),
Orders: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks.Order.Customer.Orders", "models.Order"),
},
},
Tasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks.Order.Tasks", "models.Task"),
},
},
PrepTasks: struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks.PrepTasks", "models.PrepTask"),
Task: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks.PrepTasks.Task", "models.Task"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks.PrepTasks.WorkArea", "models.WorkArea"),
},
},
Workshops: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Workshop.Tasks.Workshops", "models.Workshop"),
},
},
},
PrepTasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.PrepTasks", "models.PrepTask"),
},
Shifts: struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkArea.Shifts", "models.Shift"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Shifts.ProductType", "models.ProductType"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.Shifts.WorkArea", "models.WorkArea"),
},
},
TeamTasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkArea.TeamTasks", "models.TeamTask"),
},
}
_shift.fillFieldMap()
return _shift
}
type shift struct {
shiftDo
ALL field.Asterisk
Id field.Uint
Description field.String
ProductTypeId field.Uint
ProductAmount field.Uint
ShiftDate field.Int64
WorkAreaId field.Uint
CreatedAt field.Int64
ProductType shiftBelongsToProductType
WorkArea shiftBelongsToWorkArea
fieldMap map[string]field.Expr
}
func (s shift) Table(newTableName string) *shift {
s.shiftDo.UseTable(newTableName)
return s.updateTableName(newTableName)
}
func (s shift) As(alias string) *shift {
s.shiftDo.DO = *(s.shiftDo.As(alias).(*gen.DO))
return s.updateTableName(alias)
}
func (s *shift) updateTableName(table string) *shift {
s.ALL = field.NewAsterisk(table)
s.Id = field.NewUint(table, "id")
s.Description = field.NewString(table, "description")
s.ProductTypeId = field.NewUint(table, "product_type_id")
s.ProductAmount = field.NewUint(table, "product_amount")
s.ShiftDate = field.NewInt64(table, "shift_date")
s.WorkAreaId = field.NewUint(table, "work_area_id")
s.CreatedAt = field.NewInt64(table, "created_at")
s.fillFieldMap()
return s
}
func (s *shift) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := s.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (s *shift) fillFieldMap() {
s.fieldMap = make(map[string]field.Expr, 9)
s.fieldMap["id"] = s.Id
s.fieldMap["description"] = s.Description
s.fieldMap["product_type_id"] = s.ProductTypeId
s.fieldMap["product_amount"] = s.ProductAmount
s.fieldMap["shift_date"] = s.ShiftDate
s.fieldMap["work_area_id"] = s.WorkAreaId
s.fieldMap["created_at"] = s.CreatedAt
}
func (s shift) clone(db *gorm.DB) shift {
s.shiftDo.ReplaceConnPool(db.Statement.ConnPool)
return s
}
func (s shift) replaceDB(db *gorm.DB) shift {
s.shiftDo.ReplaceDB(db)
return s
}
type shiftBelongsToProductType struct {
db *gorm.DB
field.RelationField
}
func (a shiftBelongsToProductType) Where(conds ...field.Expr) *shiftBelongsToProductType {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a shiftBelongsToProductType) WithContext(ctx context.Context) *shiftBelongsToProductType {
a.db = a.db.WithContext(ctx)
return &a
}
func (a shiftBelongsToProductType) Session(session *gorm.Session) *shiftBelongsToProductType {
a.db = a.db.Session(session)
return &a
}
func (a shiftBelongsToProductType) Model(m *models.Shift) *shiftBelongsToProductTypeTx {
return &shiftBelongsToProductTypeTx{a.db.Model(m).Association(a.Name())}
}
type shiftBelongsToProductTypeTx struct{ tx *gorm.Association }
func (a shiftBelongsToProductTypeTx) Find() (result *models.ProductType, err error) {
return result, a.tx.Find(&result)
}
func (a shiftBelongsToProductTypeTx) Append(values ...*models.ProductType) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a shiftBelongsToProductTypeTx) Replace(values ...*models.ProductType) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a shiftBelongsToProductTypeTx) Delete(values ...*models.ProductType) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a shiftBelongsToProductTypeTx) Clear() error {
return a.tx.Clear()
}
func (a shiftBelongsToProductTypeTx) Count() int64 {
return a.tx.Count()
}
type shiftBelongsToWorkArea struct {
db *gorm.DB
field.RelationField
Workshop struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
Workshops struct {
field.RelationField
}
}
}
PrepTasks struct {
field.RelationField
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
}
}
func (a shiftBelongsToWorkArea) Where(conds ...field.Expr) *shiftBelongsToWorkArea {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a shiftBelongsToWorkArea) WithContext(ctx context.Context) *shiftBelongsToWorkArea {
a.db = a.db.WithContext(ctx)
return &a
}
func (a shiftBelongsToWorkArea) Session(session *gorm.Session) *shiftBelongsToWorkArea {
a.db = a.db.Session(session)
return &a
}
func (a shiftBelongsToWorkArea) Model(m *models.Shift) *shiftBelongsToWorkAreaTx {
return &shiftBelongsToWorkAreaTx{a.db.Model(m).Association(a.Name())}
}
type shiftBelongsToWorkAreaTx struct{ tx *gorm.Association }
func (a shiftBelongsToWorkAreaTx) Find() (result *models.WorkArea, err error) {
return result, a.tx.Find(&result)
}
func (a shiftBelongsToWorkAreaTx) Append(values ...*models.WorkArea) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a shiftBelongsToWorkAreaTx) Replace(values ...*models.WorkArea) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a shiftBelongsToWorkAreaTx) Delete(values ...*models.WorkArea) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a shiftBelongsToWorkAreaTx) Clear() error {
return a.tx.Clear()
}
func (a shiftBelongsToWorkAreaTx) Count() int64 {
return a.tx.Count()
}
type shiftDo struct{ gen.DO }
type IShiftDo interface {
gen.SubQuery
Debug() IShiftDo
WithContext(ctx context.Context) IShiftDo
WithResult(fc func(tx gen.Dao)) gen.ResultInfo
ReplaceDB(db *gorm.DB)
ReadDB() IShiftDo
WriteDB() IShiftDo
As(alias string) gen.Dao
Session(config *gorm.Session) IShiftDo
Columns(cols ...field.Expr) gen.Columns
Clauses(conds ...clause.Expression) IShiftDo
Not(conds ...gen.Condition) IShiftDo
Or(conds ...gen.Condition) IShiftDo
Select(conds ...field.Expr) IShiftDo
Where(conds ...gen.Condition) IShiftDo
Order(conds ...field.Expr) IShiftDo
Distinct(cols ...field.Expr) IShiftDo
Omit(cols ...field.Expr) IShiftDo
Join(table schema.Tabler, on ...field.Expr) IShiftDo
LeftJoin(table schema.Tabler, on ...field.Expr) IShiftDo
RightJoin(table schema.Tabler, on ...field.Expr) IShiftDo
Group(cols ...field.Expr) IShiftDo
Having(conds ...gen.Condition) IShiftDo
Limit(limit int) IShiftDo
Offset(offset int) IShiftDo
Count() (count int64, err error)
Scopes(funcs ...func(gen.Dao) gen.Dao) IShiftDo
Unscoped() IShiftDo
Create(values ...*models.Shift) error
CreateInBatches(values []*models.Shift, batchSize int) error
Save(values ...*models.Shift) error
First() (*models.Shift, error)
Take() (*models.Shift, error)
Last() (*models.Shift, error)
Find() ([]*models.Shift, error)
FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.Shift, err error)
FindInBatches(result *[]*models.Shift, batchSize int, fc func(tx gen.Dao, batch int) error) error
Pluck(column field.Expr, dest interface{}) error
Delete(...*models.Shift) (info gen.ResultInfo, err error)
Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
Updates(value interface{}) (info gen.ResultInfo, err error)
UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
UpdateFrom(q gen.SubQuery) gen.Dao
Attrs(attrs ...field.AssignExpr) IShiftDo
Assign(attrs ...field.AssignExpr) IShiftDo
Joins(fields ...field.RelationField) IShiftDo
Preload(fields ...field.RelationField) IShiftDo
FirstOrInit() (*models.Shift, error)
FirstOrCreate() (*models.Shift, error)
FindByPage(offset int, limit int) (result []*models.Shift, count int64, err error)
ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
Scan(result interface{}) (err error)
Returning(value interface{}, columns ...string) IShiftDo
UnderlyingDB() *gorm.DB
schema.Tabler
}
func (s shiftDo) Debug() IShiftDo {
return s.withDO(s.DO.Debug())
}
func (s shiftDo) WithContext(ctx context.Context) IShiftDo {
return s.withDO(s.DO.WithContext(ctx))
}
func (s shiftDo) ReadDB() IShiftDo {
return s.Clauses(dbresolver.Read)
}
func (s shiftDo) WriteDB() IShiftDo {
return s.Clauses(dbresolver.Write)
}
func (s shiftDo) Session(config *gorm.Session) IShiftDo {
return s.withDO(s.DO.Session(config))
}
func (s shiftDo) Clauses(conds ...clause.Expression) IShiftDo {
return s.withDO(s.DO.Clauses(conds...))
}
func (s shiftDo) Returning(value interface{}, columns ...string) IShiftDo {
return s.withDO(s.DO.Returning(value, columns...))
}
func (s shiftDo) Not(conds ...gen.Condition) IShiftDo {
return s.withDO(s.DO.Not(conds...))
}
func (s shiftDo) Or(conds ...gen.Condition) IShiftDo {
return s.withDO(s.DO.Or(conds...))
}
func (s shiftDo) Select(conds ...field.Expr) IShiftDo {
return s.withDO(s.DO.Select(conds...))
}
func (s shiftDo) Where(conds ...gen.Condition) IShiftDo {
return s.withDO(s.DO.Where(conds...))
}
func (s shiftDo) Order(conds ...field.Expr) IShiftDo {
return s.withDO(s.DO.Order(conds...))
}
func (s shiftDo) Distinct(cols ...field.Expr) IShiftDo {
return s.withDO(s.DO.Distinct(cols...))
}
func (s shiftDo) Omit(cols ...field.Expr) IShiftDo {
return s.withDO(s.DO.Omit(cols...))
}
func (s shiftDo) Join(table schema.Tabler, on ...field.Expr) IShiftDo {
return s.withDO(s.DO.Join(table, on...))
}
func (s shiftDo) LeftJoin(table schema.Tabler, on ...field.Expr) IShiftDo {
return s.withDO(s.DO.LeftJoin(table, on...))
}
func (s shiftDo) RightJoin(table schema.Tabler, on ...field.Expr) IShiftDo {
return s.withDO(s.DO.RightJoin(table, on...))
}
func (s shiftDo) Group(cols ...field.Expr) IShiftDo {
return s.withDO(s.DO.Group(cols...))
}
func (s shiftDo) Having(conds ...gen.Condition) IShiftDo {
return s.withDO(s.DO.Having(conds...))
}
func (s shiftDo) Limit(limit int) IShiftDo {
return s.withDO(s.DO.Limit(limit))
}
func (s shiftDo) Offset(offset int) IShiftDo {
return s.withDO(s.DO.Offset(offset))
}
func (s shiftDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IShiftDo {
return s.withDO(s.DO.Scopes(funcs...))
}
func (s shiftDo) Unscoped() IShiftDo {
return s.withDO(s.DO.Unscoped())
}
func (s shiftDo) Create(values ...*models.Shift) error {
if len(values) == 0 {
return nil
}
return s.DO.Create(values)
}
func (s shiftDo) CreateInBatches(values []*models.Shift, batchSize int) error {
return s.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (s shiftDo) Save(values ...*models.Shift) error {
if len(values) == 0 {
return nil
}
return s.DO.Save(values)
}
func (s shiftDo) First() (*models.Shift, error) {
if result, err := s.DO.First(); err != nil {
return nil, err
} else {
return result.(*models.Shift), nil
}
}
func (s shiftDo) Take() (*models.Shift, error) {
if result, err := s.DO.Take(); err != nil {
return nil, err
} else {
return result.(*models.Shift), nil
}
}
func (s shiftDo) Last() (*models.Shift, error) {
if result, err := s.DO.Last(); err != nil {
return nil, err
} else {
return result.(*models.Shift), nil
}
}
func (s shiftDo) Find() ([]*models.Shift, error) {
result, err := s.DO.Find()
return result.([]*models.Shift), err
}
func (s shiftDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.Shift, err error) {
buf := make([]*models.Shift, 0, batchSize)
err = s.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (s shiftDo) FindInBatches(result *[]*models.Shift, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return s.DO.FindInBatches(result, batchSize, fc)
}
func (s shiftDo) Attrs(attrs ...field.AssignExpr) IShiftDo {
return s.withDO(s.DO.Attrs(attrs...))
}
func (s shiftDo) Assign(attrs ...field.AssignExpr) IShiftDo {
return s.withDO(s.DO.Assign(attrs...))
}
func (s shiftDo) Joins(fields ...field.RelationField) IShiftDo {
for _, _f := range fields {
s = *s.withDO(s.DO.Joins(_f))
}
return &s
}
func (s shiftDo) Preload(fields ...field.RelationField) IShiftDo {
for _, _f := range fields {
s = *s.withDO(s.DO.Preload(_f))
}
return &s
}
func (s shiftDo) FirstOrInit() (*models.Shift, error) {
if result, err := s.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*models.Shift), nil
}
}
func (s shiftDo) FirstOrCreate() (*models.Shift, error) {
if result, err := s.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*models.Shift), nil
}
}
func (s shiftDo) FindByPage(offset int, limit int) (result []*models.Shift, count int64, err error) {
result, err = s.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = s.Offset(-1).Limit(-1).Count()
return
}
func (s shiftDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = s.Count()
if err != nil {
return
}
err = s.Offset(offset).Limit(limit).Scan(result)
return
}
func (s shiftDo) Scan(result interface{}) (err error) {
return s.DO.Scan(result)
}
func (s shiftDo) Delete(models ...*models.Shift) (result gen.ResultInfo, err error) {
return s.DO.Delete(models)
}
func (s *shiftDo) withDO(do gen.Dao) *shiftDo {
s.DO = *do.(*gen.DO)
return s
}

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.Shift{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.Shift{}) fail: %s", err)
}
}
func Test_shiftQuery(t *testing.T) {
shift := newShift(_gen_test_db)
shift = *shift.As(shift.TableName())
_do := shift.WithContext(context.Background()).Debug()
primaryKey := field.NewString(shift.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <shifts> fail:", err)
return
}
_, ok := shift.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from shift success")
}
err = _do.Create(&models.Shift{})
if err != nil {
t.Error("create item in table <shifts> fail:", err)
}
err = _do.Save(&models.Shift{})
if err != nil {
t.Error("create item in table <shifts> fail:", err)
}
err = _do.CreateInBatches([]*models.Shift{{}, {}}, 10)
if err != nil {
t.Error("create item in table <shifts> fail:", err)
}
_, err = _do.Select(shift.ALL).Take()
if err != nil {
t.Error("Take() on table <shifts> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <shifts> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <shifts> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <shifts> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.Shift{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <shifts> fail:", err)
}
_, err = _do.Select(shift.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <shifts> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <shifts> fail:", err)
}
_, err = _do.Select(shift.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <shifts> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <shifts> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <shifts> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <shifts> fail:", err)
}
_, err = _do.ScanByPage(&models.Shift{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <shifts> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <shifts> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <shifts> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <shifts> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <shifts> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <shifts> fail:", err)
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.Task{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.Task{}) fail: %s", err)
}
}
func Test_taskQuery(t *testing.T) {
task := newTask(_gen_test_db)
task = *task.As(task.TableName())
_do := task.WithContext(context.Background()).Debug()
primaryKey := field.NewString(task.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <tasks> fail:", err)
return
}
_, ok := task.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from task success")
}
err = _do.Create(&models.Task{})
if err != nil {
t.Error("create item in table <tasks> fail:", err)
}
err = _do.Save(&models.Task{})
if err != nil {
t.Error("create item in table <tasks> fail:", err)
}
err = _do.CreateInBatches([]*models.Task{{}, {}}, 10)
if err != nil {
t.Error("create item in table <tasks> fail:", err)
}
_, err = _do.Select(task.ALL).Take()
if err != nil {
t.Error("Take() on table <tasks> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <tasks> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <tasks> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <tasks> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.Task{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <tasks> fail:", err)
}
_, err = _do.Select(task.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <tasks> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <tasks> fail:", err)
}
_, err = _do.Select(task.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <tasks> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <tasks> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <tasks> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <tasks> fail:", err)
}
_, err = _do.ScanByPage(&models.Task{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <tasks> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <tasks> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <tasks> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <tasks> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <tasks> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <tasks> fail:", err)
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.TeamTask{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.TeamTask{}) fail: %s", err)
}
}
func Test_teamTaskQuery(t *testing.T) {
teamTask := newTeamTask(_gen_test_db)
teamTask = *teamTask.As(teamTask.TableName())
_do := teamTask.WithContext(context.Background()).Debug()
primaryKey := field.NewString(teamTask.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <team_tasks> fail:", err)
return
}
_, ok := teamTask.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from teamTask success")
}
err = _do.Create(&models.TeamTask{})
if err != nil {
t.Error("create item in table <team_tasks> fail:", err)
}
err = _do.Save(&models.TeamTask{})
if err != nil {
t.Error("create item in table <team_tasks> fail:", err)
}
err = _do.CreateInBatches([]*models.TeamTask{{}, {}}, 10)
if err != nil {
t.Error("create item in table <team_tasks> fail:", err)
}
_, err = _do.Select(teamTask.ALL).Take()
if err != nil {
t.Error("Take() on table <team_tasks> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <team_tasks> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <team_tasks> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <team_tasks> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.TeamTask{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <team_tasks> fail:", err)
}
_, err = _do.Select(teamTask.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <team_tasks> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <team_tasks> fail:", err)
}
_, err = _do.Select(teamTask.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <team_tasks> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <team_tasks> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <team_tasks> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <team_tasks> fail:", err)
}
_, err = _do.ScanByPage(&models.TeamTask{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <team_tasks> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <team_tasks> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <team_tasks> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <team_tasks> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <team_tasks> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <team_tasks> fail:", err)
}
}

View File

@@ -1,383 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newTeamType(db *gorm.DB, opts ...gen.DOOption) teamType {
_teamType := teamType{}
_teamType.teamTypeDo.UseDB(db, opts...)
_teamType.teamTypeDo.UseModel(&models.TeamType{})
tableName := _teamType.teamTypeDo.TableName()
_teamType.ALL = field.NewAsterisk(tableName)
_teamType.Id = field.NewUint(tableName, "id")
_teamType.Name = field.NewString(tableName, "name")
_teamType.fillFieldMap()
return _teamType
}
type teamType struct {
teamTypeDo
ALL field.Asterisk
Id field.Uint
Name field.String
fieldMap map[string]field.Expr
}
func (t teamType) Table(newTableName string) *teamType {
t.teamTypeDo.UseTable(newTableName)
return t.updateTableName(newTableName)
}
func (t teamType) As(alias string) *teamType {
t.teamTypeDo.DO = *(t.teamTypeDo.As(alias).(*gen.DO))
return t.updateTableName(alias)
}
func (t *teamType) updateTableName(table string) *teamType {
t.ALL = field.NewAsterisk(table)
t.Id = field.NewUint(table, "id")
t.Name = field.NewString(table, "name")
t.fillFieldMap()
return t
}
func (t *teamType) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := t.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (t *teamType) fillFieldMap() {
t.fieldMap = make(map[string]field.Expr, 2)
t.fieldMap["id"] = t.Id
t.fieldMap["name"] = t.Name
}
func (t teamType) clone(db *gorm.DB) teamType {
t.teamTypeDo.ReplaceConnPool(db.Statement.ConnPool)
return t
}
func (t teamType) replaceDB(db *gorm.DB) teamType {
t.teamTypeDo.ReplaceDB(db)
return t
}
type teamTypeDo struct{ gen.DO }
type ITeamTypeDo interface {
gen.SubQuery
Debug() ITeamTypeDo
WithContext(ctx context.Context) ITeamTypeDo
WithResult(fc func(tx gen.Dao)) gen.ResultInfo
ReplaceDB(db *gorm.DB)
ReadDB() ITeamTypeDo
WriteDB() ITeamTypeDo
As(alias string) gen.Dao
Session(config *gorm.Session) ITeamTypeDo
Columns(cols ...field.Expr) gen.Columns
Clauses(conds ...clause.Expression) ITeamTypeDo
Not(conds ...gen.Condition) ITeamTypeDo
Or(conds ...gen.Condition) ITeamTypeDo
Select(conds ...field.Expr) ITeamTypeDo
Where(conds ...gen.Condition) ITeamTypeDo
Order(conds ...field.Expr) ITeamTypeDo
Distinct(cols ...field.Expr) ITeamTypeDo
Omit(cols ...field.Expr) ITeamTypeDo
Join(table schema.Tabler, on ...field.Expr) ITeamTypeDo
LeftJoin(table schema.Tabler, on ...field.Expr) ITeamTypeDo
RightJoin(table schema.Tabler, on ...field.Expr) ITeamTypeDo
Group(cols ...field.Expr) ITeamTypeDo
Having(conds ...gen.Condition) ITeamTypeDo
Limit(limit int) ITeamTypeDo
Offset(offset int) ITeamTypeDo
Count() (count int64, err error)
Scopes(funcs ...func(gen.Dao) gen.Dao) ITeamTypeDo
Unscoped() ITeamTypeDo
Create(values ...*models.TeamType) error
CreateInBatches(values []*models.TeamType, batchSize int) error
Save(values ...*models.TeamType) error
First() (*models.TeamType, error)
Take() (*models.TeamType, error)
Last() (*models.TeamType, error)
Find() ([]*models.TeamType, error)
FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.TeamType, err error)
FindInBatches(result *[]*models.TeamType, batchSize int, fc func(tx gen.Dao, batch int) error) error
Pluck(column field.Expr, dest interface{}) error
Delete(...*models.TeamType) (info gen.ResultInfo, err error)
Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
Updates(value interface{}) (info gen.ResultInfo, err error)
UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
UpdateFrom(q gen.SubQuery) gen.Dao
Attrs(attrs ...field.AssignExpr) ITeamTypeDo
Assign(attrs ...field.AssignExpr) ITeamTypeDo
Joins(fields ...field.RelationField) ITeamTypeDo
Preload(fields ...field.RelationField) ITeamTypeDo
FirstOrInit() (*models.TeamType, error)
FirstOrCreate() (*models.TeamType, error)
FindByPage(offset int, limit int) (result []*models.TeamType, count int64, err error)
ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
Scan(result interface{}) (err error)
Returning(value interface{}, columns ...string) ITeamTypeDo
UnderlyingDB() *gorm.DB
schema.Tabler
}
func (t teamTypeDo) Debug() ITeamTypeDo {
return t.withDO(t.DO.Debug())
}
func (t teamTypeDo) WithContext(ctx context.Context) ITeamTypeDo {
return t.withDO(t.DO.WithContext(ctx))
}
func (t teamTypeDo) ReadDB() ITeamTypeDo {
return t.Clauses(dbresolver.Read)
}
func (t teamTypeDo) WriteDB() ITeamTypeDo {
return t.Clauses(dbresolver.Write)
}
func (t teamTypeDo) Session(config *gorm.Session) ITeamTypeDo {
return t.withDO(t.DO.Session(config))
}
func (t teamTypeDo) Clauses(conds ...clause.Expression) ITeamTypeDo {
return t.withDO(t.DO.Clauses(conds...))
}
func (t teamTypeDo) Returning(value interface{}, columns ...string) ITeamTypeDo {
return t.withDO(t.DO.Returning(value, columns...))
}
func (t teamTypeDo) Not(conds ...gen.Condition) ITeamTypeDo {
return t.withDO(t.DO.Not(conds...))
}
func (t teamTypeDo) Or(conds ...gen.Condition) ITeamTypeDo {
return t.withDO(t.DO.Or(conds...))
}
func (t teamTypeDo) Select(conds ...field.Expr) ITeamTypeDo {
return t.withDO(t.DO.Select(conds...))
}
func (t teamTypeDo) Where(conds ...gen.Condition) ITeamTypeDo {
return t.withDO(t.DO.Where(conds...))
}
func (t teamTypeDo) Order(conds ...field.Expr) ITeamTypeDo {
return t.withDO(t.DO.Order(conds...))
}
func (t teamTypeDo) Distinct(cols ...field.Expr) ITeamTypeDo {
return t.withDO(t.DO.Distinct(cols...))
}
func (t teamTypeDo) Omit(cols ...field.Expr) ITeamTypeDo {
return t.withDO(t.DO.Omit(cols...))
}
func (t teamTypeDo) Join(table schema.Tabler, on ...field.Expr) ITeamTypeDo {
return t.withDO(t.DO.Join(table, on...))
}
func (t teamTypeDo) LeftJoin(table schema.Tabler, on ...field.Expr) ITeamTypeDo {
return t.withDO(t.DO.LeftJoin(table, on...))
}
func (t teamTypeDo) RightJoin(table schema.Tabler, on ...field.Expr) ITeamTypeDo {
return t.withDO(t.DO.RightJoin(table, on...))
}
func (t teamTypeDo) Group(cols ...field.Expr) ITeamTypeDo {
return t.withDO(t.DO.Group(cols...))
}
func (t teamTypeDo) Having(conds ...gen.Condition) ITeamTypeDo {
return t.withDO(t.DO.Having(conds...))
}
func (t teamTypeDo) Limit(limit int) ITeamTypeDo {
return t.withDO(t.DO.Limit(limit))
}
func (t teamTypeDo) Offset(offset int) ITeamTypeDo {
return t.withDO(t.DO.Offset(offset))
}
func (t teamTypeDo) Scopes(funcs ...func(gen.Dao) gen.Dao) ITeamTypeDo {
return t.withDO(t.DO.Scopes(funcs...))
}
func (t teamTypeDo) Unscoped() ITeamTypeDo {
return t.withDO(t.DO.Unscoped())
}
func (t teamTypeDo) Create(values ...*models.TeamType) error {
if len(values) == 0 {
return nil
}
return t.DO.Create(values)
}
func (t teamTypeDo) CreateInBatches(values []*models.TeamType, batchSize int) error {
return t.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (t teamTypeDo) Save(values ...*models.TeamType) error {
if len(values) == 0 {
return nil
}
return t.DO.Save(values)
}
func (t teamTypeDo) First() (*models.TeamType, error) {
if result, err := t.DO.First(); err != nil {
return nil, err
} else {
return result.(*models.TeamType), nil
}
}
func (t teamTypeDo) Take() (*models.TeamType, error) {
if result, err := t.DO.Take(); err != nil {
return nil, err
} else {
return result.(*models.TeamType), nil
}
}
func (t teamTypeDo) Last() (*models.TeamType, error) {
if result, err := t.DO.Last(); err != nil {
return nil, err
} else {
return result.(*models.TeamType), nil
}
}
func (t teamTypeDo) Find() ([]*models.TeamType, error) {
result, err := t.DO.Find()
return result.([]*models.TeamType), err
}
func (t teamTypeDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.TeamType, err error) {
buf := make([]*models.TeamType, 0, batchSize)
err = t.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (t teamTypeDo) FindInBatches(result *[]*models.TeamType, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return t.DO.FindInBatches(result, batchSize, fc)
}
func (t teamTypeDo) Attrs(attrs ...field.AssignExpr) ITeamTypeDo {
return t.withDO(t.DO.Attrs(attrs...))
}
func (t teamTypeDo) Assign(attrs ...field.AssignExpr) ITeamTypeDo {
return t.withDO(t.DO.Assign(attrs...))
}
func (t teamTypeDo) Joins(fields ...field.RelationField) ITeamTypeDo {
for _, _f := range fields {
t = *t.withDO(t.DO.Joins(_f))
}
return &t
}
func (t teamTypeDo) Preload(fields ...field.RelationField) ITeamTypeDo {
for _, _f := range fields {
t = *t.withDO(t.DO.Preload(_f))
}
return &t
}
func (t teamTypeDo) FirstOrInit() (*models.TeamType, error) {
if result, err := t.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*models.TeamType), nil
}
}
func (t teamTypeDo) FirstOrCreate() (*models.TeamType, error) {
if result, err := t.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*models.TeamType), nil
}
}
func (t teamTypeDo) FindByPage(offset int, limit int) (result []*models.TeamType, count int64, err error) {
result, err = t.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = t.Offset(-1).Limit(-1).Count()
return
}
func (t teamTypeDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = t.Count()
if err != nil {
return
}
err = t.Offset(offset).Limit(limit).Scan(result)
return
}
func (t teamTypeDo) Scan(result interface{}) (err error) {
return t.DO.Scan(result)
}
func (t teamTypeDo) Delete(models ...*models.TeamType) (result gen.ResultInfo, err error) {
return t.DO.Delete(models)
}
func (t *teamTypeDo) withDO(do gen.Dao) *teamTypeDo {
t.DO = *do.(*gen.DO)
return t
}

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.TeamType{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.TeamType{}) fail: %s", err)
}
}
func Test_teamTypeQuery(t *testing.T) {
teamType := newTeamType(_gen_test_db)
teamType = *teamType.As(teamType.TableName())
_do := teamType.WithContext(context.Background()).Debug()
primaryKey := field.NewString(teamType.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <team_types> fail:", err)
return
}
_, ok := teamType.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from teamType success")
}
err = _do.Create(&models.TeamType{})
if err != nil {
t.Error("create item in table <team_types> fail:", err)
}
err = _do.Save(&models.TeamType{})
if err != nil {
t.Error("create item in table <team_types> fail:", err)
}
err = _do.CreateInBatches([]*models.TeamType{{}, {}}, 10)
if err != nil {
t.Error("create item in table <team_types> fail:", err)
}
_, err = _do.Select(teamType.ALL).Take()
if err != nil {
t.Error("Take() on table <team_types> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <team_types> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <team_types> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <team_types> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.TeamType{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <team_types> fail:", err)
}
_, err = _do.Select(teamType.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <team_types> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <team_types> fail:", err)
}
_, err = _do.Select(teamType.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <team_types> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <team_types> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <team_types> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <team_types> fail:", err)
}
_, err = _do.ScanByPage(&models.TeamType{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <team_types> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <team_types> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <team_types> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <team_types> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <team_types> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <team_types> fail:", err)
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.WorkArea{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.WorkArea{}) fail: %s", err)
}
}
func Test_workAreaQuery(t *testing.T) {
workArea := newWorkArea(_gen_test_db)
workArea = *workArea.As(workArea.TableName())
_do := workArea.WithContext(context.Background()).Debug()
primaryKey := field.NewString(workArea.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <work_areas> fail:", err)
return
}
_, ok := workArea.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from workArea success")
}
err = _do.Create(&models.WorkArea{})
if err != nil {
t.Error("create item in table <work_areas> fail:", err)
}
err = _do.Save(&models.WorkArea{})
if err != nil {
t.Error("create item in table <work_areas> fail:", err)
}
err = _do.CreateInBatches([]*models.WorkArea{{}, {}}, 10)
if err != nil {
t.Error("create item in table <work_areas> fail:", err)
}
_, err = _do.Select(workArea.ALL).Take()
if err != nil {
t.Error("Take() on table <work_areas> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <work_areas> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <work_areas> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <work_areas> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.WorkArea{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <work_areas> fail:", err)
}
_, err = _do.Select(workArea.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <work_areas> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <work_areas> fail:", err)
}
_, err = _do.Select(workArea.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <work_areas> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <work_areas> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <work_areas> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <work_areas> fail:", err)
}
_, err = _do.ScanByPage(&models.WorkArea{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <work_areas> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <work_areas> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <work_areas> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <work_areas> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <work_areas> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <work_areas> fail:", err)
}
}

View File

@@ -1,910 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newWorker(db *gorm.DB, opts ...gen.DOOption) worker {
_worker := worker{}
_worker.workerDo.UseDB(db, opts...)
_worker.workerDo.UseModel(&models.Worker{})
tableName := _worker.workerDo.TableName()
_worker.ALL = field.NewAsterisk(tableName)
_worker.Id = field.NewUint(tableName, "id")
_worker.Name = field.NewString(tableName, "name")
_worker.WorkshopId = field.NewUint(tableName, "workshop_id")
_worker.Workshop = workerBelongsToWorkshop{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("Workshop", "models.Workshop"),
WorkAreas: struct {
field.RelationField
Workshop struct {
field.RelationField
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Workshops struct {
field.RelationField
}
}
WorkArea struct {
field.RelationField
}
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
}
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}{
RelationField: field.NewRelation("Workshop.WorkAreas", "models.WorkArea"),
Workshop: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.Workshop", "models.Workshop"),
},
PrepTasks: struct {
field.RelationField
Task struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Workshops struct {
field.RelationField
}
}
WorkArea struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks", "models.PrepTask"),
Task: struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Workshops struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks.Task", "models.Task"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks.Task.ProductType", "models.ProductType"),
},
Order: struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks.Task.Order", "models.Order"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks.Task.Order.ProductType", "models.ProductType"),
},
Customer: struct {
field.RelationField
Orders struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks.Task.Order.Customer", "models.Customer"),
Orders: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks.Task.Order.Customer.Orders", "models.Order"),
},
},
Tasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks.Task.Order.Tasks", "models.Task"),
},
},
PrepTasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks.Task.PrepTasks", "models.PrepTask"),
},
Workshops: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks.Task.Workshops", "models.Workshop"),
},
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.PrepTasks.WorkArea", "models.WorkArea"),
},
},
Shifts: struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Workshop.WorkAreas.Shifts", "models.Shift"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.Shifts.ProductType", "models.ProductType"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.Shifts.WorkArea", "models.WorkArea"),
},
},
TeamTasks: struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
}
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Workshop.WorkAreas.TeamTasks", "models.TeamTask"),
TeamType: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.TeamTasks.TeamType", "models.TeamType"),
},
TeamLeader: struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
}
}{
RelationField: field.NewRelation("Workshop.WorkAreas.TeamTasks.TeamLeader", "models.Worker"),
Workshop: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.TeamTasks.TeamLeader.Workshop", "models.Workshop"),
},
TeamTasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.TeamTasks.TeamLeader.TeamTasks", "models.TeamTask"),
},
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.TeamTasks.WorkArea", "models.WorkArea"),
},
TeamMembers: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.WorkAreas.TeamTasks.TeamMembers", "models.Worker"),
},
},
},
Workers: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.Workers", "models.Worker"),
},
Tasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("Workshop.Tasks", "models.Task"),
},
}
_worker.TeamTasks = workerManyToManyTeamTasks{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("TeamTasks", "models.TeamTask"),
}
_worker.fillFieldMap()
return _worker
}
type worker struct {
workerDo
ALL field.Asterisk
Id field.Uint
Name field.String
WorkshopId field.Uint
Workshop workerBelongsToWorkshop
TeamTasks workerManyToManyTeamTasks
fieldMap map[string]field.Expr
}
func (w worker) Table(newTableName string) *worker {
w.workerDo.UseTable(newTableName)
return w.updateTableName(newTableName)
}
func (w worker) As(alias string) *worker {
w.workerDo.DO = *(w.workerDo.As(alias).(*gen.DO))
return w.updateTableName(alias)
}
func (w *worker) updateTableName(table string) *worker {
w.ALL = field.NewAsterisk(table)
w.Id = field.NewUint(table, "id")
w.Name = field.NewString(table, "name")
w.WorkshopId = field.NewUint(table, "workshop_id")
w.fillFieldMap()
return w
}
func (w *worker) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := w.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (w *worker) fillFieldMap() {
w.fieldMap = make(map[string]field.Expr, 5)
w.fieldMap["id"] = w.Id
w.fieldMap["name"] = w.Name
w.fieldMap["workshop_id"] = w.WorkshopId
}
func (w worker) clone(db *gorm.DB) worker {
w.workerDo.ReplaceConnPool(db.Statement.ConnPool)
return w
}
func (w worker) replaceDB(db *gorm.DB) worker {
w.workerDo.ReplaceDB(db)
return w
}
type workerBelongsToWorkshop struct {
db *gorm.DB
field.RelationField
WorkAreas struct {
field.RelationField
Workshop struct {
field.RelationField
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
}
Workshops struct {
field.RelationField
}
}
WorkArea struct {
field.RelationField
}
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
}
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Workers struct {
field.RelationField
}
Tasks struct {
field.RelationField
}
}
func (a workerBelongsToWorkshop) Where(conds ...field.Expr) *workerBelongsToWorkshop {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a workerBelongsToWorkshop) WithContext(ctx context.Context) *workerBelongsToWorkshop {
a.db = a.db.WithContext(ctx)
return &a
}
func (a workerBelongsToWorkshop) Session(session *gorm.Session) *workerBelongsToWorkshop {
a.db = a.db.Session(session)
return &a
}
func (a workerBelongsToWorkshop) Model(m *models.Worker) *workerBelongsToWorkshopTx {
return &workerBelongsToWorkshopTx{a.db.Model(m).Association(a.Name())}
}
type workerBelongsToWorkshopTx struct{ tx *gorm.Association }
func (a workerBelongsToWorkshopTx) Find() (result *models.Workshop, err error) {
return result, a.tx.Find(&result)
}
func (a workerBelongsToWorkshopTx) Append(values ...*models.Workshop) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a workerBelongsToWorkshopTx) Replace(values ...*models.Workshop) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a workerBelongsToWorkshopTx) Delete(values ...*models.Workshop) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a workerBelongsToWorkshopTx) Clear() error {
return a.tx.Clear()
}
func (a workerBelongsToWorkshopTx) Count() int64 {
return a.tx.Count()
}
type workerManyToManyTeamTasks struct {
db *gorm.DB
field.RelationField
}
func (a workerManyToManyTeamTasks) Where(conds ...field.Expr) *workerManyToManyTeamTasks {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a workerManyToManyTeamTasks) WithContext(ctx context.Context) *workerManyToManyTeamTasks {
a.db = a.db.WithContext(ctx)
return &a
}
func (a workerManyToManyTeamTasks) Session(session *gorm.Session) *workerManyToManyTeamTasks {
a.db = a.db.Session(session)
return &a
}
func (a workerManyToManyTeamTasks) Model(m *models.Worker) *workerManyToManyTeamTasksTx {
return &workerManyToManyTeamTasksTx{a.db.Model(m).Association(a.Name())}
}
type workerManyToManyTeamTasksTx struct{ tx *gorm.Association }
func (a workerManyToManyTeamTasksTx) Find() (result []*models.TeamTask, err error) {
return result, a.tx.Find(&result)
}
func (a workerManyToManyTeamTasksTx) Append(values ...*models.TeamTask) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a workerManyToManyTeamTasksTx) Replace(values ...*models.TeamTask) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a workerManyToManyTeamTasksTx) Delete(values ...*models.TeamTask) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a workerManyToManyTeamTasksTx) Clear() error {
return a.tx.Clear()
}
func (a workerManyToManyTeamTasksTx) Count() int64 {
return a.tx.Count()
}
type workerDo struct{ gen.DO }
type IWorkerDo interface {
gen.SubQuery
Debug() IWorkerDo
WithContext(ctx context.Context) IWorkerDo
WithResult(fc func(tx gen.Dao)) gen.ResultInfo
ReplaceDB(db *gorm.DB)
ReadDB() IWorkerDo
WriteDB() IWorkerDo
As(alias string) gen.Dao
Session(config *gorm.Session) IWorkerDo
Columns(cols ...field.Expr) gen.Columns
Clauses(conds ...clause.Expression) IWorkerDo
Not(conds ...gen.Condition) IWorkerDo
Or(conds ...gen.Condition) IWorkerDo
Select(conds ...field.Expr) IWorkerDo
Where(conds ...gen.Condition) IWorkerDo
Order(conds ...field.Expr) IWorkerDo
Distinct(cols ...field.Expr) IWorkerDo
Omit(cols ...field.Expr) IWorkerDo
Join(table schema.Tabler, on ...field.Expr) IWorkerDo
LeftJoin(table schema.Tabler, on ...field.Expr) IWorkerDo
RightJoin(table schema.Tabler, on ...field.Expr) IWorkerDo
Group(cols ...field.Expr) IWorkerDo
Having(conds ...gen.Condition) IWorkerDo
Limit(limit int) IWorkerDo
Offset(offset int) IWorkerDo
Count() (count int64, err error)
Scopes(funcs ...func(gen.Dao) gen.Dao) IWorkerDo
Unscoped() IWorkerDo
Create(values ...*models.Worker) error
CreateInBatches(values []*models.Worker, batchSize int) error
Save(values ...*models.Worker) error
First() (*models.Worker, error)
Take() (*models.Worker, error)
Last() (*models.Worker, error)
Find() ([]*models.Worker, error)
FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.Worker, err error)
FindInBatches(result *[]*models.Worker, batchSize int, fc func(tx gen.Dao, batch int) error) error
Pluck(column field.Expr, dest interface{}) error
Delete(...*models.Worker) (info gen.ResultInfo, err error)
Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
Updates(value interface{}) (info gen.ResultInfo, err error)
UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
UpdateFrom(q gen.SubQuery) gen.Dao
Attrs(attrs ...field.AssignExpr) IWorkerDo
Assign(attrs ...field.AssignExpr) IWorkerDo
Joins(fields ...field.RelationField) IWorkerDo
Preload(fields ...field.RelationField) IWorkerDo
FirstOrInit() (*models.Worker, error)
FirstOrCreate() (*models.Worker, error)
FindByPage(offset int, limit int) (result []*models.Worker, count int64, err error)
ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
Scan(result interface{}) (err error)
Returning(value interface{}, columns ...string) IWorkerDo
UnderlyingDB() *gorm.DB
schema.Tabler
}
func (w workerDo) Debug() IWorkerDo {
return w.withDO(w.DO.Debug())
}
func (w workerDo) WithContext(ctx context.Context) IWorkerDo {
return w.withDO(w.DO.WithContext(ctx))
}
func (w workerDo) ReadDB() IWorkerDo {
return w.Clauses(dbresolver.Read)
}
func (w workerDo) WriteDB() IWorkerDo {
return w.Clauses(dbresolver.Write)
}
func (w workerDo) Session(config *gorm.Session) IWorkerDo {
return w.withDO(w.DO.Session(config))
}
func (w workerDo) Clauses(conds ...clause.Expression) IWorkerDo {
return w.withDO(w.DO.Clauses(conds...))
}
func (w workerDo) Returning(value interface{}, columns ...string) IWorkerDo {
return w.withDO(w.DO.Returning(value, columns...))
}
func (w workerDo) Not(conds ...gen.Condition) IWorkerDo {
return w.withDO(w.DO.Not(conds...))
}
func (w workerDo) Or(conds ...gen.Condition) IWorkerDo {
return w.withDO(w.DO.Or(conds...))
}
func (w workerDo) Select(conds ...field.Expr) IWorkerDo {
return w.withDO(w.DO.Select(conds...))
}
func (w workerDo) Where(conds ...gen.Condition) IWorkerDo {
return w.withDO(w.DO.Where(conds...))
}
func (w workerDo) Order(conds ...field.Expr) IWorkerDo {
return w.withDO(w.DO.Order(conds...))
}
func (w workerDo) Distinct(cols ...field.Expr) IWorkerDo {
return w.withDO(w.DO.Distinct(cols...))
}
func (w workerDo) Omit(cols ...field.Expr) IWorkerDo {
return w.withDO(w.DO.Omit(cols...))
}
func (w workerDo) Join(table schema.Tabler, on ...field.Expr) IWorkerDo {
return w.withDO(w.DO.Join(table, on...))
}
func (w workerDo) LeftJoin(table schema.Tabler, on ...field.Expr) IWorkerDo {
return w.withDO(w.DO.LeftJoin(table, on...))
}
func (w workerDo) RightJoin(table schema.Tabler, on ...field.Expr) IWorkerDo {
return w.withDO(w.DO.RightJoin(table, on...))
}
func (w workerDo) Group(cols ...field.Expr) IWorkerDo {
return w.withDO(w.DO.Group(cols...))
}
func (w workerDo) Having(conds ...gen.Condition) IWorkerDo {
return w.withDO(w.DO.Having(conds...))
}
func (w workerDo) Limit(limit int) IWorkerDo {
return w.withDO(w.DO.Limit(limit))
}
func (w workerDo) Offset(offset int) IWorkerDo {
return w.withDO(w.DO.Offset(offset))
}
func (w workerDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IWorkerDo {
return w.withDO(w.DO.Scopes(funcs...))
}
func (w workerDo) Unscoped() IWorkerDo {
return w.withDO(w.DO.Unscoped())
}
func (w workerDo) Create(values ...*models.Worker) error {
if len(values) == 0 {
return nil
}
return w.DO.Create(values)
}
func (w workerDo) CreateInBatches(values []*models.Worker, batchSize int) error {
return w.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (w workerDo) Save(values ...*models.Worker) error {
if len(values) == 0 {
return nil
}
return w.DO.Save(values)
}
func (w workerDo) First() (*models.Worker, error) {
if result, err := w.DO.First(); err != nil {
return nil, err
} else {
return result.(*models.Worker), nil
}
}
func (w workerDo) Take() (*models.Worker, error) {
if result, err := w.DO.Take(); err != nil {
return nil, err
} else {
return result.(*models.Worker), nil
}
}
func (w workerDo) Last() (*models.Worker, error) {
if result, err := w.DO.Last(); err != nil {
return nil, err
} else {
return result.(*models.Worker), nil
}
}
func (w workerDo) Find() ([]*models.Worker, error) {
result, err := w.DO.Find()
return result.([]*models.Worker), err
}
func (w workerDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.Worker, err error) {
buf := make([]*models.Worker, 0, batchSize)
err = w.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (w workerDo) FindInBatches(result *[]*models.Worker, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return w.DO.FindInBatches(result, batchSize, fc)
}
func (w workerDo) Attrs(attrs ...field.AssignExpr) IWorkerDo {
return w.withDO(w.DO.Attrs(attrs...))
}
func (w workerDo) Assign(attrs ...field.AssignExpr) IWorkerDo {
return w.withDO(w.DO.Assign(attrs...))
}
func (w workerDo) Joins(fields ...field.RelationField) IWorkerDo {
for _, _f := range fields {
w = *w.withDO(w.DO.Joins(_f))
}
return &w
}
func (w workerDo) Preload(fields ...field.RelationField) IWorkerDo {
for _, _f := range fields {
w = *w.withDO(w.DO.Preload(_f))
}
return &w
}
func (w workerDo) FirstOrInit() (*models.Worker, error) {
if result, err := w.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*models.Worker), nil
}
}
func (w workerDo) FirstOrCreate() (*models.Worker, error) {
if result, err := w.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*models.Worker), nil
}
}
func (w workerDo) FindByPage(offset int, limit int) (result []*models.Worker, count int64, err error) {
result, err = w.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = w.Offset(-1).Limit(-1).Count()
return
}
func (w workerDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = w.Count()
if err != nil {
return
}
err = w.Offset(offset).Limit(limit).Scan(result)
return
}
func (w workerDo) Scan(result interface{}) (err error) {
return w.DO.Scan(result)
}
func (w workerDo) Delete(models ...*models.Worker) (result gen.ResultInfo, err error) {
return w.DO.Delete(models)
}
func (w *workerDo) withDO(do gen.Dao) *workerDo {
w.DO = *do.(*gen.DO)
return w
}

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.Worker{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.Worker{}) fail: %s", err)
}
}
func Test_workerQuery(t *testing.T) {
worker := newWorker(_gen_test_db)
worker = *worker.As(worker.TableName())
_do := worker.WithContext(context.Background()).Debug()
primaryKey := field.NewString(worker.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <workers> fail:", err)
return
}
_, ok := worker.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from worker success")
}
err = _do.Create(&models.Worker{})
if err != nil {
t.Error("create item in table <workers> fail:", err)
}
err = _do.Save(&models.Worker{})
if err != nil {
t.Error("create item in table <workers> fail:", err)
}
err = _do.CreateInBatches([]*models.Worker{{}, {}}, 10)
if err != nil {
t.Error("create item in table <workers> fail:", err)
}
_, err = _do.Select(worker.ALL).Take()
if err != nil {
t.Error("Take() on table <workers> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <workers> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <workers> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <workers> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.Worker{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <workers> fail:", err)
}
_, err = _do.Select(worker.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <workers> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <workers> fail:", err)
}
_, err = _do.Select(worker.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <workers> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <workers> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <workers> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <workers> fail:", err)
}
_, err = _do.ScanByPage(&models.Worker{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <workers> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <workers> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <workers> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <workers> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <workers> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <workers> fail:", err)
}
}

View File

@@ -1,964 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newWorkshop(db *gorm.DB, opts ...gen.DOOption) workshop {
_workshop := workshop{}
_workshop.workshopDo.UseDB(db, opts...)
_workshop.workshopDo.UseModel(&models.Workshop{})
tableName := _workshop.workshopDo.TableName()
_workshop.ALL = field.NewAsterisk(tableName)
_workshop.Id = field.NewUint(tableName, "id")
_workshop.Name = field.NewString(tableName, "name")
_workshop.WorkAreas = workshopHasManyWorkAreas{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("WorkAreas", "models.WorkArea"),
Workshop: struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
Workshops struct {
field.RelationField
}
}
}{
RelationField: field.NewRelation("WorkAreas.Workshop", "models.Workshop"),
WorkAreas: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.WorkAreas", "models.WorkArea"),
},
Workers: struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Workers", "models.Worker"),
Workshop: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Workers.Workshop", "models.Workshop"),
},
TeamTasks: struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Workers.TeamTasks", "models.TeamTask"),
TeamType: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Workers.TeamTasks.TeamType", "models.TeamType"),
},
TeamLeader: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Workers.TeamTasks.TeamLeader", "models.Worker"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Workers.TeamTasks.WorkArea", "models.WorkArea"),
},
TeamMembers: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Workers.TeamTasks.TeamMembers", "models.Worker"),
},
},
},
Tasks: struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
Workshops struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks", "models.Task"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks.ProductType", "models.ProductType"),
},
Order: struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks.Order", "models.Order"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks.Order.ProductType", "models.ProductType"),
},
Customer: struct {
field.RelationField
Orders struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks.Order.Customer", "models.Customer"),
Orders: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks.Order.Customer.Orders", "models.Order"),
},
},
Tasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks.Order.Tasks", "models.Task"),
},
},
PrepTasks: struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks.PrepTasks", "models.PrepTask"),
Task: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks.PrepTasks.Task", "models.Task"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks.PrepTasks.WorkArea", "models.WorkArea"),
},
},
Workshops: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Workshop.Tasks.Workshops", "models.Workshop"),
},
},
},
PrepTasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.PrepTasks", "models.PrepTask"),
},
Shifts: struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}{
RelationField: field.NewRelation("WorkAreas.Shifts", "models.Shift"),
ProductType: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Shifts.ProductType", "models.ProductType"),
},
WorkArea: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.Shifts.WorkArea", "models.WorkArea"),
},
},
TeamTasks: struct {
field.RelationField
}{
RelationField: field.NewRelation("WorkAreas.TeamTasks", "models.TeamTask"),
},
}
_workshop.Workers = workshopHasManyWorkers{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("Workers", "models.Worker"),
}
_workshop.Tasks = workshopManyToManyTasks{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("Tasks", "models.Task"),
}
_workshop.fillFieldMap()
return _workshop
}
type workshop struct {
workshopDo
ALL field.Asterisk
Id field.Uint
Name field.String
WorkAreas workshopHasManyWorkAreas
Workers workshopHasManyWorkers
Tasks workshopManyToManyTasks
fieldMap map[string]field.Expr
}
func (w workshop) Table(newTableName string) *workshop {
w.workshopDo.UseTable(newTableName)
return w.updateTableName(newTableName)
}
func (w workshop) As(alias string) *workshop {
w.workshopDo.DO = *(w.workshopDo.As(alias).(*gen.DO))
return w.updateTableName(alias)
}
func (w *workshop) updateTableName(table string) *workshop {
w.ALL = field.NewAsterisk(table)
w.Id = field.NewUint(table, "id")
w.Name = field.NewString(table, "name")
w.fillFieldMap()
return w
}
func (w *workshop) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := w.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (w *workshop) fillFieldMap() {
w.fieldMap = make(map[string]field.Expr, 5)
w.fieldMap["id"] = w.Id
w.fieldMap["name"] = w.Name
}
func (w workshop) clone(db *gorm.DB) workshop {
w.workshopDo.ReplaceConnPool(db.Statement.ConnPool)
return w
}
func (w workshop) replaceDB(db *gorm.DB) workshop {
w.workshopDo.ReplaceDB(db)
return w
}
type workshopHasManyWorkAreas struct {
db *gorm.DB
field.RelationField
Workshop struct {
field.RelationField
WorkAreas struct {
field.RelationField
}
Workers struct {
field.RelationField
Workshop struct {
field.RelationField
}
TeamTasks struct {
field.RelationField
TeamType struct {
field.RelationField
}
TeamLeader struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
TeamMembers struct {
field.RelationField
}
}
}
Tasks struct {
field.RelationField
ProductType struct {
field.RelationField
}
Order struct {
field.RelationField
ProductType struct {
field.RelationField
}
Customer struct {
field.RelationField
Orders struct {
field.RelationField
}
}
Tasks struct {
field.RelationField
}
}
PrepTasks struct {
field.RelationField
Task struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
Workshops struct {
field.RelationField
}
}
}
PrepTasks struct {
field.RelationField
}
Shifts struct {
field.RelationField
ProductType struct {
field.RelationField
}
WorkArea struct {
field.RelationField
}
}
TeamTasks struct {
field.RelationField
}
}
func (a workshopHasManyWorkAreas) Where(conds ...field.Expr) *workshopHasManyWorkAreas {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a workshopHasManyWorkAreas) WithContext(ctx context.Context) *workshopHasManyWorkAreas {
a.db = a.db.WithContext(ctx)
return &a
}
func (a workshopHasManyWorkAreas) Session(session *gorm.Session) *workshopHasManyWorkAreas {
a.db = a.db.Session(session)
return &a
}
func (a workshopHasManyWorkAreas) Model(m *models.Workshop) *workshopHasManyWorkAreasTx {
return &workshopHasManyWorkAreasTx{a.db.Model(m).Association(a.Name())}
}
type workshopHasManyWorkAreasTx struct{ tx *gorm.Association }
func (a workshopHasManyWorkAreasTx) Find() (result []*models.WorkArea, err error) {
return result, a.tx.Find(&result)
}
func (a workshopHasManyWorkAreasTx) Append(values ...*models.WorkArea) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a workshopHasManyWorkAreasTx) Replace(values ...*models.WorkArea) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a workshopHasManyWorkAreasTx) Delete(values ...*models.WorkArea) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a workshopHasManyWorkAreasTx) Clear() error {
return a.tx.Clear()
}
func (a workshopHasManyWorkAreasTx) Count() int64 {
return a.tx.Count()
}
type workshopHasManyWorkers struct {
db *gorm.DB
field.RelationField
}
func (a workshopHasManyWorkers) Where(conds ...field.Expr) *workshopHasManyWorkers {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a workshopHasManyWorkers) WithContext(ctx context.Context) *workshopHasManyWorkers {
a.db = a.db.WithContext(ctx)
return &a
}
func (a workshopHasManyWorkers) Session(session *gorm.Session) *workshopHasManyWorkers {
a.db = a.db.Session(session)
return &a
}
func (a workshopHasManyWorkers) Model(m *models.Workshop) *workshopHasManyWorkersTx {
return &workshopHasManyWorkersTx{a.db.Model(m).Association(a.Name())}
}
type workshopHasManyWorkersTx struct{ tx *gorm.Association }
func (a workshopHasManyWorkersTx) Find() (result []*models.Worker, err error) {
return result, a.tx.Find(&result)
}
func (a workshopHasManyWorkersTx) Append(values ...*models.Worker) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a workshopHasManyWorkersTx) Replace(values ...*models.Worker) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a workshopHasManyWorkersTx) Delete(values ...*models.Worker) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a workshopHasManyWorkersTx) Clear() error {
return a.tx.Clear()
}
func (a workshopHasManyWorkersTx) Count() int64 {
return a.tx.Count()
}
type workshopManyToManyTasks struct {
db *gorm.DB
field.RelationField
}
func (a workshopManyToManyTasks) Where(conds ...field.Expr) *workshopManyToManyTasks {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a workshopManyToManyTasks) WithContext(ctx context.Context) *workshopManyToManyTasks {
a.db = a.db.WithContext(ctx)
return &a
}
func (a workshopManyToManyTasks) Session(session *gorm.Session) *workshopManyToManyTasks {
a.db = a.db.Session(session)
return &a
}
func (a workshopManyToManyTasks) Model(m *models.Workshop) *workshopManyToManyTasksTx {
return &workshopManyToManyTasksTx{a.db.Model(m).Association(a.Name())}
}
type workshopManyToManyTasksTx struct{ tx *gorm.Association }
func (a workshopManyToManyTasksTx) Find() (result []*models.Task, err error) {
return result, a.tx.Find(&result)
}
func (a workshopManyToManyTasksTx) Append(values ...*models.Task) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a workshopManyToManyTasksTx) Replace(values ...*models.Task) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a workshopManyToManyTasksTx) Delete(values ...*models.Task) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a workshopManyToManyTasksTx) Clear() error {
return a.tx.Clear()
}
func (a workshopManyToManyTasksTx) Count() int64 {
return a.tx.Count()
}
type workshopDo struct{ gen.DO }
type IWorkshopDo interface {
gen.SubQuery
Debug() IWorkshopDo
WithContext(ctx context.Context) IWorkshopDo
WithResult(fc func(tx gen.Dao)) gen.ResultInfo
ReplaceDB(db *gorm.DB)
ReadDB() IWorkshopDo
WriteDB() IWorkshopDo
As(alias string) gen.Dao
Session(config *gorm.Session) IWorkshopDo
Columns(cols ...field.Expr) gen.Columns
Clauses(conds ...clause.Expression) IWorkshopDo
Not(conds ...gen.Condition) IWorkshopDo
Or(conds ...gen.Condition) IWorkshopDo
Select(conds ...field.Expr) IWorkshopDo
Where(conds ...gen.Condition) IWorkshopDo
Order(conds ...field.Expr) IWorkshopDo
Distinct(cols ...field.Expr) IWorkshopDo
Omit(cols ...field.Expr) IWorkshopDo
Join(table schema.Tabler, on ...field.Expr) IWorkshopDo
LeftJoin(table schema.Tabler, on ...field.Expr) IWorkshopDo
RightJoin(table schema.Tabler, on ...field.Expr) IWorkshopDo
Group(cols ...field.Expr) IWorkshopDo
Having(conds ...gen.Condition) IWorkshopDo
Limit(limit int) IWorkshopDo
Offset(offset int) IWorkshopDo
Count() (count int64, err error)
Scopes(funcs ...func(gen.Dao) gen.Dao) IWorkshopDo
Unscoped() IWorkshopDo
Create(values ...*models.Workshop) error
CreateInBatches(values []*models.Workshop, batchSize int) error
Save(values ...*models.Workshop) error
First() (*models.Workshop, error)
Take() (*models.Workshop, error)
Last() (*models.Workshop, error)
Find() ([]*models.Workshop, error)
FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.Workshop, err error)
FindInBatches(result *[]*models.Workshop, batchSize int, fc func(tx gen.Dao, batch int) error) error
Pluck(column field.Expr, dest interface{}) error
Delete(...*models.Workshop) (info gen.ResultInfo, err error)
Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
Updates(value interface{}) (info gen.ResultInfo, err error)
UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
UpdateColumns(value interface{}) (info gen.ResultInfo, err error)
UpdateFrom(q gen.SubQuery) gen.Dao
Attrs(attrs ...field.AssignExpr) IWorkshopDo
Assign(attrs ...field.AssignExpr) IWorkshopDo
Joins(fields ...field.RelationField) IWorkshopDo
Preload(fields ...field.RelationField) IWorkshopDo
FirstOrInit() (*models.Workshop, error)
FirstOrCreate() (*models.Workshop, error)
FindByPage(offset int, limit int) (result []*models.Workshop, count int64, err error)
ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
Scan(result interface{}) (err error)
Returning(value interface{}, columns ...string) IWorkshopDo
UnderlyingDB() *gorm.DB
schema.Tabler
}
func (w workshopDo) Debug() IWorkshopDo {
return w.withDO(w.DO.Debug())
}
func (w workshopDo) WithContext(ctx context.Context) IWorkshopDo {
return w.withDO(w.DO.WithContext(ctx))
}
func (w workshopDo) ReadDB() IWorkshopDo {
return w.Clauses(dbresolver.Read)
}
func (w workshopDo) WriteDB() IWorkshopDo {
return w.Clauses(dbresolver.Write)
}
func (w workshopDo) Session(config *gorm.Session) IWorkshopDo {
return w.withDO(w.DO.Session(config))
}
func (w workshopDo) Clauses(conds ...clause.Expression) IWorkshopDo {
return w.withDO(w.DO.Clauses(conds...))
}
func (w workshopDo) Returning(value interface{}, columns ...string) IWorkshopDo {
return w.withDO(w.DO.Returning(value, columns...))
}
func (w workshopDo) Not(conds ...gen.Condition) IWorkshopDo {
return w.withDO(w.DO.Not(conds...))
}
func (w workshopDo) Or(conds ...gen.Condition) IWorkshopDo {
return w.withDO(w.DO.Or(conds...))
}
func (w workshopDo) Select(conds ...field.Expr) IWorkshopDo {
return w.withDO(w.DO.Select(conds...))
}
func (w workshopDo) Where(conds ...gen.Condition) IWorkshopDo {
return w.withDO(w.DO.Where(conds...))
}
func (w workshopDo) Order(conds ...field.Expr) IWorkshopDo {
return w.withDO(w.DO.Order(conds...))
}
func (w workshopDo) Distinct(cols ...field.Expr) IWorkshopDo {
return w.withDO(w.DO.Distinct(cols...))
}
func (w workshopDo) Omit(cols ...field.Expr) IWorkshopDo {
return w.withDO(w.DO.Omit(cols...))
}
func (w workshopDo) Join(table schema.Tabler, on ...field.Expr) IWorkshopDo {
return w.withDO(w.DO.Join(table, on...))
}
func (w workshopDo) LeftJoin(table schema.Tabler, on ...field.Expr) IWorkshopDo {
return w.withDO(w.DO.LeftJoin(table, on...))
}
func (w workshopDo) RightJoin(table schema.Tabler, on ...field.Expr) IWorkshopDo {
return w.withDO(w.DO.RightJoin(table, on...))
}
func (w workshopDo) Group(cols ...field.Expr) IWorkshopDo {
return w.withDO(w.DO.Group(cols...))
}
func (w workshopDo) Having(conds ...gen.Condition) IWorkshopDo {
return w.withDO(w.DO.Having(conds...))
}
func (w workshopDo) Limit(limit int) IWorkshopDo {
return w.withDO(w.DO.Limit(limit))
}
func (w workshopDo) Offset(offset int) IWorkshopDo {
return w.withDO(w.DO.Offset(offset))
}
func (w workshopDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IWorkshopDo {
return w.withDO(w.DO.Scopes(funcs...))
}
func (w workshopDo) Unscoped() IWorkshopDo {
return w.withDO(w.DO.Unscoped())
}
func (w workshopDo) Create(values ...*models.Workshop) error {
if len(values) == 0 {
return nil
}
return w.DO.Create(values)
}
func (w workshopDo) CreateInBatches(values []*models.Workshop, batchSize int) error {
return w.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (w workshopDo) Save(values ...*models.Workshop) error {
if len(values) == 0 {
return nil
}
return w.DO.Save(values)
}
func (w workshopDo) First() (*models.Workshop, error) {
if result, err := w.DO.First(); err != nil {
return nil, err
} else {
return result.(*models.Workshop), nil
}
}
func (w workshopDo) Take() (*models.Workshop, error) {
if result, err := w.DO.Take(); err != nil {
return nil, err
} else {
return result.(*models.Workshop), nil
}
}
func (w workshopDo) Last() (*models.Workshop, error) {
if result, err := w.DO.Last(); err != nil {
return nil, err
} else {
return result.(*models.Workshop), nil
}
}
func (w workshopDo) Find() ([]*models.Workshop, error) {
result, err := w.DO.Find()
return result.([]*models.Workshop), err
}
func (w workshopDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.Workshop, err error) {
buf := make([]*models.Workshop, 0, batchSize)
err = w.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (w workshopDo) FindInBatches(result *[]*models.Workshop, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return w.DO.FindInBatches(result, batchSize, fc)
}
func (w workshopDo) Attrs(attrs ...field.AssignExpr) IWorkshopDo {
return w.withDO(w.DO.Attrs(attrs...))
}
func (w workshopDo) Assign(attrs ...field.AssignExpr) IWorkshopDo {
return w.withDO(w.DO.Assign(attrs...))
}
func (w workshopDo) Joins(fields ...field.RelationField) IWorkshopDo {
for _, _f := range fields {
w = *w.withDO(w.DO.Joins(_f))
}
return &w
}
func (w workshopDo) Preload(fields ...field.RelationField) IWorkshopDo {
for _, _f := range fields {
w = *w.withDO(w.DO.Preload(_f))
}
return &w
}
func (w workshopDo) FirstOrInit() (*models.Workshop, error) {
if result, err := w.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*models.Workshop), nil
}
}
func (w workshopDo) FirstOrCreate() (*models.Workshop, error) {
if result, err := w.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*models.Workshop), nil
}
}
func (w workshopDo) FindByPage(offset int, limit int) (result []*models.Workshop, count int64, err error) {
result, err = w.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = w.Offset(-1).Limit(-1).Count()
return
}
func (w workshopDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = w.Count()
if err != nil {
return
}
err = w.Offset(offset).Limit(limit).Scan(result)
return
}
func (w workshopDo) Scan(result interface{}) (err error) {
return w.DO.Scan(result)
}
func (w workshopDo) Delete(models ...*models.Workshop) (result gen.ResultInfo, err error) {
return w.DO.Delete(models)
}
func (w *workshopDo) withDO(do gen.Dao) *workshopDo {
w.DO = *do.(*gen.DO)
return w
}

View File

@@ -1,145 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dal
import (
"app/internal/models"
"context"
"fmt"
"testing"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/gorm/clause"
)
func init() {
InitializeDB()
err := _gen_test_db.AutoMigrate(&models.Workshop{})
if err != nil {
fmt.Printf("Error: AutoMigrate(&models.Workshop{}) fail: %s", err)
}
}
func Test_workshopQuery(t *testing.T) {
workshop := newWorkshop(_gen_test_db)
workshop = *workshop.As(workshop.TableName())
_do := workshop.WithContext(context.Background()).Debug()
primaryKey := field.NewString(workshop.TableName(), clause.PrimaryKey)
_, err := _do.Unscoped().Where(primaryKey.IsNotNull()).Delete()
if err != nil {
t.Error("clean table <workshops> fail:", err)
return
}
_, ok := workshop.GetFieldByName("")
if ok {
t.Error("GetFieldByName(\"\") from workshop success")
}
err = _do.Create(&models.Workshop{})
if err != nil {
t.Error("create item in table <workshops> fail:", err)
}
err = _do.Save(&models.Workshop{})
if err != nil {
t.Error("create item in table <workshops> fail:", err)
}
err = _do.CreateInBatches([]*models.Workshop{{}, {}}, 10)
if err != nil {
t.Error("create item in table <workshops> fail:", err)
}
_, err = _do.Select(workshop.ALL).Take()
if err != nil {
t.Error("Take() on table <workshops> fail:", err)
}
_, err = _do.First()
if err != nil {
t.Error("First() on table <workshops> fail:", err)
}
_, err = _do.Last()
if err != nil {
t.Error("First() on table <workshops> fail:", err)
}
_, err = _do.Where(primaryKey.IsNotNull()).FindInBatch(10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatch() on table <workshops> fail:", err)
}
err = _do.Where(primaryKey.IsNotNull()).FindInBatches(&[]*models.Workshop{}, 10, func(tx gen.Dao, batch int) error { return nil })
if err != nil {
t.Error("FindInBatches() on table <workshops> fail:", err)
}
_, err = _do.Select(workshop.ALL).Where(primaryKey.IsNotNull()).Order(primaryKey.Desc()).Find()
if err != nil {
t.Error("Find() on table <workshops> fail:", err)
}
_, err = _do.Distinct(primaryKey).Take()
if err != nil {
t.Error("select Distinct() on table <workshops> fail:", err)
}
_, err = _do.Select(workshop.ALL).Omit(primaryKey).Take()
if err != nil {
t.Error("Omit() on table <workshops> fail:", err)
}
_, err = _do.Group(primaryKey).Find()
if err != nil {
t.Error("Group() on table <workshops> fail:", err)
}
_, err = _do.Scopes(func(dao gen.Dao) gen.Dao { return dao.Where(primaryKey.IsNotNull()) }).Find()
if err != nil {
t.Error("Scopes() on table <workshops> fail:", err)
}
_, _, err = _do.FindByPage(0, 1)
if err != nil {
t.Error("FindByPage() on table <workshops> fail:", err)
}
_, err = _do.ScanByPage(&models.Workshop{}, 0, 1)
if err != nil {
t.Error("ScanByPage() on table <workshops> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrInit()
if err != nil {
t.Error("FirstOrInit() on table <workshops> fail:", err)
}
_, err = _do.Attrs(primaryKey).Assign(primaryKey).FirstOrCreate()
if err != nil {
t.Error("FirstOrCreate() on table <workshops> fail:", err)
}
var _a _another
var _aPK = field.NewString(_a.TableName(), "id")
err = _do.Join(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("Join() on table <workshops> fail:", err)
}
err = _do.LeftJoin(&_a, primaryKey.EqCol(_aPK)).Scan(map[string]interface{}{})
if err != nil {
t.Error("LeftJoin() on table <workshops> fail:", err)
}
_, err = _do.Not().Or().Clauses().Take()
if err != nil {
t.Error("Not/Or/Clauses on table <workshops> fail:", err)
}
}

View File

@@ -3,6 +3,8 @@ package database
import ( import (
"app/internal/dal" "app/internal/dal"
"context" "context"
"database/sql"
"github.com/ncruces/go-sqlite3"
"github.com/ncruces/go-sqlite3/driver" "github.com/ncruces/go-sqlite3/driver"
"log" "log"
"log/slog" "log/slog"
@@ -103,7 +105,12 @@ func RegisterUnicodeExtension(db *gorm.DB) {
if err != nil { if err != nil {
panic(err) panic(err)
} }
defer conn.Close() defer func(conn *sql.Conn) {
err := conn.Close()
if err != nil {
slog.Error(err.Error())
}
}(conn)
err = conn.Raw(func(driverConn any) error { err = conn.Raw(func(driverConn any) error {
c := driverConn.(driver.Conn) c := driverConn.(driver.Conn)
@@ -125,7 +132,12 @@ func RegisterUnicodeExtension(db *gorm.DB) {
if err != nil { if err != nil {
return err return err
} }
defer stmt.Close() defer func(stmt *sqlite3.Stmt) {
err := stmt.Close()
if err != nil {
slog.Error(err.Error())
}
}(stmt)
if stmt.Step() { if stmt.Step() {
slog.Info("ICU test result", "value", stmt.ColumnBool(0)) slog.Info("ICU test result", "value", stmt.ColumnBool(0))

View File

@@ -1,115 +1,9 @@
package models package models
var Entities = []any{ var Entities = []any{&Post{}}
&Customer{}, &Order{}, &PrepTask{}, &ProductType{}, &Shift{}, &Task{}, &TeamTask{}, &WorkArea{}, &Worker{}, &Workshop{}, &TeamType{},
}
type Customer struct { type Post struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"` Id uint `gorm:"primaryKey" ui:"hidden"`
Title string `ui:"label:Название"` Text string `ui:"label:Текст;"`
Contact string `ui:"label:Контакт"` CreatedAt uint `gorm:"autoCreateTime" ui:"readonly"`
Orders []Order `gorm:"constraint:OnDelete:CASCADE;" ui:"hidden"`
}
type Order struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"`
Status string `ui:"label:Статус"`
Description string `ui:"label:Описание"`
ProductTypeId int `gorm:"not null;" ui:"hidden"`
ProductType ProductType `gorm:"not null;foreignKey:ProductTypeId;references:Id;constraint:OnDelete:CASCADE;" ui:"label:Тип;field:Name"`
ProductAmount uint `ui:"label:Количество продукции"`
CustomerId uint `gorm:"not null;" ui:"hidden"`
Customer Customer `gorm:"not null;foreignKey:CustomerId;references:Id;constraint:OnDelete:CASCADE;" ui:"label:Клиент;field:Title"`
Tasks []Task `gorm:"constraint:OnDelete:CASCADE" ui:"hidden"`
CreatedAt int64 `gorm:"autoCreateTime" ui:"label:Дата создания;readonly;datatype:datetime"`
DeadlineDate int64 `ui:"label:Крайний срок;datatype:datetime"`
}
type PrepTask struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"`
Status string `gorm:"default:'Создано'" ui:"label:Статус"`
Description string `ui:"label:Описание"`
TaskId uint `gorm:"not null;" ui:"hidden"`
Task Task `gorm:"foreignKey:TaskId;references:Id;constraint:OnDelete:CASCADE;" ui:"label:Задача;field:Description"`
WorkAreaId uint `gorm:"not null;" ui:"hidden"`
WorkArea WorkArea `gorm:"foreignKey:WorkAreaId;references:Id;constraint:OnDelete:CASCADE;" ui:"label:Рабочая зона;field:Name"`
CreatedAt int64 `gorm:"autoCreationTime" ui:"label:Дата создания;readonly;datatype:datetime"`
Deadline int64 `ui:"label:Крайний срок;datatype:datetime"`
}
type ProductType struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"`
Name string `gorm:"not null" ui:"label:Название"`
}
type Shift struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"`
Description string `ui:"label:Описание"`
ProductTypeId uint `ui:"hidden"`
ProductType ProductType `ui:"field:Name"`
ProductAmount uint `ui:"label:Количество продукции"`
ShiftDate int64 `ui:"label:Дата смены;datatype:datetime"`
WorkAreaId uint `ui:"hidden"`
WorkArea WorkArea `ui:"field:Name"`
CreatedAt int64 `gorm:"autoCreateTime" ui:"label:Дата создания;readonly;datatype:datetime"`
}
type Task struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"`
Description string `ui:"label:Описание"`
ProductTypeId uint `gorm:"not null;" ui:"hidden"`
ProductType ProductType `gorm:"foreignKey:ProductTypeId;references:Id;constraint:OnDelete:CASCADE;" ui:"label:Тип;field:Name"`
Workshops []*Workshop `gorm:"many2many:workshop_task;constraint:OnDelete:CASCADE;" ui:"hidden"`
OrderId uint `gorm:"not null;" ui:"hidden"`
Order Order `gorm:"foreignKey:OrderId;references:Id;constraint:OnDelete:CASCADE;" ui:"label:Заказ;field:Description"`
PrepTasks []PrepTask `gorm:"constraint:OnDelete:CASCADE;" ui:"hidden"`
ProductionStart int64 `ui:"label:Дата начала производства;datatype:datetime"`
CreatedAt int64 `gorm:"autoCreateTime" ui:"label:Дата создания;readonly;datatype:datetime"`
Amount uint `ui:"label:Количество"`
}
type TeamTask struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"`
TeamTypeId uint `ui:"hidden"`
TeamType TeamType `ui:"field:Name"`
TeamLeaderId uint `ui:"hidden"`
TeamLeader Worker `ui:"field:Name"`
TeamMembers []*Worker `gorm:"many2many:worker_team_tasks;constraint:OnDelete:CASCADE;OnUpdate:CASCADE;" ui:"hidden"`
WorkStartDate int64 `ui:"label:Дата начала работ;datatype:datetime"`
WorkAreaId uint `ui:"hidden"`
WorkArea WorkArea `ui:"field:Name"`
ShiftDuties string `gorm:"check:shift_duties IN ('1/1','2/2')" ui:"label:Обязанности смены"`
}
type TeamType struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"`
Name string `gorm:"not null" ui:"label:Название"`
}
type WorkArea struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"`
Name string `ui:"label:Наименование"`
Description string `ui:"label:Описание"`
Performance uint `ui:"label:Производительность"`
WorkshopId uint `gorm:"not null;" ui:"hidden"`
Workshop Workshop `gorm:"foreignKey:WorkshopId;references:Id;" ui:"label:Цех;field:Name"`
PrepTasks []PrepTask `gorm:"constraint:OnDelete:CASCADE;" ui:"hidden"`
Shifts []Shift `gorm:"constraint:OnDelete:CASCADE;" ui:"hidden"`
TeamTasks []TeamTask `gorm:"foreignKey:Id;constraint:OnDelete:CASCADE;" ui:"hidden"`
}
type Worker struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"`
Name string `ui:"label:Имя"`
TeamTasks []*TeamTask `gorm:"many2many:worker_team_tasks;constraint:OnDelete:CASCADE;OnUpdate:CASCADE;" ui:"hidden"`
Workshop Workshop `gorm:"foreignKey:WorkshopId;references:Id;" ui:"field:Name"`
WorkshopId uint `ui:"hidden"`
}
type Workshop struct {
Id uint `gorm:"primaryKey" ui:"label:ID;readonly"`
Name string `ui:"label:Наименование"`
WorkAreas []WorkArea `gorm:"constraint:OnDelete:CASCADE;" ui:"hidden"`
Tasks []*Task `gorm:"many2many:workshop_task;constraint:OnDelete:CASCADE;" ui:"hidden"`
Workers []Worker `gorm:"constraint:OnDelete:CASCADE;" ui:"hidden"`
} }

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type CustomerService struct {
}
type Customer = models.Customer
func (service *CustomerService) Create(item Customer) (Customer, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.Customer.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *CustomerService) GetAll() ([]*Customer, error) {
var customers []*Customer
customers, err := dal.Customer.Preload(field.Associations).Find()
return customers, err
}
func (service *CustomerService) GetById(id uint) (*Customer, error) {
item, err := dal.Customer.Preload(field.Associations).Where(dal.Customer.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *CustomerService) Update(item Customer) (Customer, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.Customer.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *CustomerService) Delete(id uint) error {
_, err := dal.Customer.Unscoped().Where(dal.Customer.Id.Eq(id)).Delete()
return err
}
func (service *CustomerService) Count() (int64, error) {
amount, err := dal.Customer.Count()
return amount, err
}
func (service *CustomerService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*Customer, error) {
return utils.SortByOrder(fieldsSortingOrder, Customer{})
}
func (service *CustomerService) SearchByAllTextFields(phrase string) ([]*Customer, error) {
return utils.FindPhraseByStringFields[Customer](phrase, Customer{})
}

View File

@@ -3,20 +3,28 @@ package services
import ( import (
"app/internal/dialogs" "app/internal/dialogs"
"fmt" "fmt"
"time"
) )
func InsertDefaultData() { func InsertDefaultData() {
insertWorkshops() insertPosts()
insertProductTypes() }
insertCustomers()
insertOrders() // Example of usage
insertTasks() //func insertProductTypes() {
insertPrepTasks() // InsertDefaultEntityData(&ProductTypeService{}, []ProductType{
insertShifts() // {Id: 1, Name: "Сырые пиломатериалы"},
insertTeamTypes() // {Id: 2, Name: "Сухие пиломатериалы"},
insertWorkers() // {Id: 3, Name: "Строганные доски"},
insertTeamTasks() // {Id: 4, Name: "Рейки"},
// {Id: 5, Name: "Брус"},
// {Id: 6, Name: "Пеллеты"},
// })
//}
func insertPosts() {
InsertDefaultEntityData(&PostService{}, []Post{
{Text: "В Кузбассе начали строить дома выше, чтобы их жители стали ближе к Богу."},
})
} }
func InsertDefaultEntityData[T any](service Service[T], entities []T) { func InsertDefaultEntityData[T any](service Service[T], entities []T) {
@@ -27,387 +35,3 @@ func InsertDefaultEntityData[T any](service Service[T], entities []T) {
} }
} }
} }
func insertWorkshops() {
InsertDefaultEntityData(&WorkshopService{}, []Workshop{
{
Id: 1,
Name: "Лесопильный комплекс",
WorkAreas: []WorkArea{
{
Id: 1,
Name: "Лесопильная линия №1",
Description: "Используется для распиловки тонкомеров, например, реек.",
PrepTasks: nil,
Performance: 50,
},
{
Id: 2,
Name: "Лесопильная линия №2",
Description: "Используется для распиловки среднего леса.",
PrepTasks: nil,
Performance: 100,
},
},
Tasks: nil,
},
{
Id: 2,
Name: "Сушильный комплекс",
WorkAreas: []WorkArea{
{Id: 3, Name: "Сушильная камера №1", Performance: 50},
{Id: 4, Name: "Сушильная камера №2", Performance: 60},
{Id: 5, Name: "Сушильная камера №3", Performance: 80},
{Id: 6, Name: "Сушильная камера №4", Performance: 85},
},
Tasks: nil,
},
{
Id: 3,
Name: "Цех строжки и обработки",
WorkAreas: []WorkArea{
{
Id: 7,
Name: "Линия строжки №1",
Description: "Используется для строжки тонкомеров",
Performance: 50,
},
{
Id: 8,
Name: "Линия строжки №2",
Description: "Используется для строжки среднего леса",
Performance: 80,
},
{
Id: 9,
Name: "Линия строжки №3",
Description: "Используется для строжки среднего леса",
Performance: 100,
},
},
Tasks: nil,
},
{
Id: 4,
Name: "Пеллетный цех",
WorkAreas: []WorkArea{
{Id: 10, Name: "Дробилка", Performance: 800},
{Id: 11, Name: "Сушилка", Performance: 900},
{Id: 12, Name: "Гранулятор №1", Performance: 900},
{Id: 13, Name: "Гранулятор №2", Performance: 600},
},
Tasks: nil,
},
})
}
func insertProductTypes() {
InsertDefaultEntityData(&ProductTypeService{}, []ProductType{
{Id: 1, Name: "Сырые пиломатериалы"},
{Id: 2, Name: "Сухие пиломатериалы"},
{Id: 3, Name: "Строганные доски"},
{Id: 4, Name: "Рейки"},
{Id: 5, Name: "Брус"},
{Id: 6, Name: "Пеллеты"},
})
}
func insertCustomers() {
InsertDefaultEntityData(&CustomerService{}, []Customer{
{
Id: 1,
Title: "Rivalli",
Contact: "Телефон: +74955855525",
Orders: []Order{},
},
{
Id: 2,
Title: "Elemfort",
Contact: "Телефон: +79270988888",
Orders: []Order{},
},
{
Id: 3,
Title: "Квазар",
Contact: "Телефон: +78002342134",
Orders: []Order{},
},
})
}
func insertOrders() {
InsertDefaultEntityData(&OrderService{}, []Order{
{
Status: "Согласован клиентом",
ProductAmount: 400,
ProductTypeId: 1,
Description: "Сырая древесина для Rivalli",
DeadlineDate: time.Date(2025, 6, 25, 0, 0, 0, 0, time.Local).Unix(),
CustomerId: 1,
},
{
Status: "Согласован клиентом",
ProductTypeId: 3,
ProductAmount: 300,
Description: "Сухая древесина для производителя мебели. Контракт #574853",
DeadlineDate: time.Date(2025, 6, 10, 0, 0, 0, 0, time.Local).Unix(),
CustomerId: 2,
},
{
Status: "Согласован клиентом",
ProductAmount: 100,
ProductTypeId: 4,
Description: "Контракт #234342",
DeadlineDate: time.Date(2025, 12, 5, 0, 0, 0, 0, time.Local).Unix(),
CustomerId: 3,
},
{
Status: "Согласован клиентом",
ProductAmount: 800,
ProductTypeId: 6,
Description: "Производство пеллет",
DeadlineDate: time.Date(2025, 2, 5, 0, 0, 0, 0, time.Local).Unix(),
CustomerId: 3,
},
{
Status: "Черновик",
ProductAmount: 100,
ProductTypeId: 6,
Description: "Производство пеллет. Заказ на стадии согласования",
DeadlineDate: time.Date(2026, 2, 5, 0, 0, 0, 0, time.Local).Unix(),
CustomerId: 1,
},
})
}
func insertTasks() {
InsertDefaultEntityData(&TaskService{}, []Task{
{
Id: 1,
Description: "Обработка сырых пиломатериалов",
ProductTypeId: 2,
Workshops: []*Workshop{{Id: 1}},
OrderId: 1,
ProductionStart: time.Date(2025, 11, 25, 0, 0, 0, 0, time.Local).Unix(),
Amount: 10,
},
{
Id: 2,
Description: "Распиловка леса",
ProductTypeId: 1,
Workshops: []*Workshop{{Id: 1}, {Id: 2}},
OrderId: 2,
ProductionStart: time.Date(2025, 8, 15, 0, 0, 0, 0, time.Local).Unix(),
Amount: 1,
},
{
Id: 3,
Description: "Строгание реек",
ProductTypeId: 3,
Workshops: []*Workshop{{Id: 1}, {Id: 2}},
OrderId: 3,
ProductionStart: time.Date(2025, 7, 10, 0, 0, 0, 0, time.Local).Unix(),
Amount: 5,
},
{
Id: 4,
Description: "Производство пеллет",
ProductTypeId: 6,
Workshops: []*Workshop{{Id: 4}},
OrderId: 4,
ProductionStart: time.Date(2025, 4, 5, 0, 0, 0, 0, time.Local).Unix(),
Amount: 1,
},
})
}
func insertPrepTasks() {
InsertDefaultEntityData(&PrepTaskService{}, []PrepTask{
{
Id: 1,
Description: "Подготовка лесопильной линии. Материал для обработки: сырые пиломатериалы",
TaskId: 1,
WorkAreaId: 2,
Deadline: time.Date(2025, 11, 10, 0, 0, 0, 0, time.Local).Unix(),
},
{
Id: 2,
Description: "Подготовка лесопильной линии. Материал для обработки: сухие пиломатериалы",
TaskId: 2,
WorkAreaId: 1,
Deadline: time.Date(2025, 8, 10, 0, 0, 0, 0, time.Local).Unix(),
},
{
Id: 3,
Description: "Подготовка сушильной камеры. Сушка распиленных сухих пиломатериалов",
TaskId: 2,
WorkAreaId: 3,
Deadline: time.Date(2025, 8, 15, 0, 0, 0, 0, time.Local).Unix(),
},
{
Id: 4,
Description: "Подготовка лесопильного цеха для производства реек. Сушка древесины для производства реек",
TaskId: 3,
WorkAreaId: 2,
Deadline: time.Date(2025, 8, 15, 0, 0, 0, 0, time.Local).Unix(),
},
{
Id: 5,
Description: "Подготовка сушильной камеры. Сушка распиленных сухих реек",
TaskId: 3,
WorkAreaId: 3,
Deadline: time.Date(2025, 8, 15, 0, 0, 0, 0, time.Local).Unix(),
},
{
Id: 6,
Description: "Подготовка дробилки для производства пеллет",
TaskId: 4,
WorkAreaId: 10,
Deadline: time.Date(2025, 4, 1, 0, 0, 0, 0, time.Local).Unix(),
},
{
Id: 7,
Description: "Подготовка сушилки для производства пеллет",
TaskId: 4,
WorkAreaId: 11,
Deadline: time.Date(2025, 4, 2, 0, 0, 0, 0, time.Local).Unix(),
},
{
Id: 8,
Description: "Подготовка гранулятора №1 для производства пеллет",
TaskId: 4,
WorkAreaId: 12,
Deadline: time.Date(2025, 4, 3, 0, 0, 0, 0, time.Local).Unix(),
},
{
Id: 9,
Description: "Подготовка гранулятора №2 для производства пеллет",
TaskId: 4,
WorkAreaId: 13,
Deadline: time.Date(2025, 4, 4, 0, 0, 0, 0, time.Local).Unix(),
},
})
}
func insertShifts() {
InsertDefaultEntityData(&ShiftService{}, []Shift{
{
Id: 1,
Description: "Распилка лесоматериалов",
ProductTypeId: 1,
ProductAmount: 45,
ShiftDate: time.Date(2025, 11, 20, 0, 0, 0, 0, time.Local).Unix(),
WorkAreaId: 2,
},
{
Id: 2,
Description: "Обработка сухой древесины",
ProductTypeId: 3,
ProductAmount: 39,
ShiftDate: time.Date(2025, 8, 13, 0, 0, 0, 0, time.Local).Unix(),
WorkAreaId: 1,
},
{
Id: 3,
Description: "Сушка реек",
ProductTypeId: 4,
ProductAmount: 55,
ShiftDate: time.Date(2025, 7, 8, 0, 0, 0, 0, time.Local).Unix(),
WorkAreaId: 4,
},
{
Id: 4,
Description: "Грануляция паллет",
ProductTypeId: 6,
ProductAmount: 890,
ShiftDate: time.Date(2025, 4, 1, 0, 0, 0, 0, time.Local).Unix(),
WorkAreaId: 12,
},
})
}
func insertTeamTypes() {
InsertDefaultEntityData(&TeamTypeService{}, []TeamType{
{Id: 1, Name: "Бригада по распиловке"},
{Id: 2, Name: "Бригада по сушке"},
{Id: 3, Name: "Бригада по обработке"},
{Id: 4, Name: "Бригада пеллетного цеха"},
})
}
func insertWorkers() {
InsertDefaultEntityData(&WorkerService{}, []Worker{
{Id: 1, Name: "Иванов Иван Иванович", WorkshopId: 1},
{Id: 2, Name: "Петров Петр Петрович", WorkshopId: 1},
{Id: 3, Name: "Сидоров Сидор Сидорович", WorkshopId: 1},
{Id: 4, Name: "Пеллетчиков Пеллет Пеллетович", WorkshopId: 4},
{Id: 5, Name: "Кузнецов Кузьма Кузьмич", WorkshopId: 2},
{Id: 6, Name: "Смирнов Сергей Сергеевич", WorkshopId: 2},
{Id: 7, Name: "Васильев Василий Васильевич", WorkshopId: 3},
{Id: 8, Name: "Михайлов Михаил Михайлович", WorkshopId: 3},
{Id: 10, Name: "Александров Александр Александрович", WorkshopId: 4},
{Id: 11, Name: "Николаев Николай Николаевич", WorkshopId: 4},
{Id: 12, Name: "Дмитриев Дмитрий Дмитриевич", WorkshopId: 4},
{Id: 13, Name: "Дмитриев Дмитрий Федорович", WorkshopId: 4},
})
}
func insertTeamTasks() {
InsertDefaultEntityData(&TeamTaskService{}, []TeamTask{
{
Id: 1,
TeamTypeId: 1,
TeamMembers: []*Worker{
{Id: 1},
},
WorkAreaId: 2,
ShiftDuties: "1/1",
WorkStartDate: time.Date(2024, 12, 5, 0, 0, 0, 0, time.Local).Unix(),
TeamLeaderId: 13,
},
{
Id: 2,
TeamTypeId: 1,
TeamMembers: []*Worker{
{Id: 2}, {Id: 3},
},
WorkAreaId: 1,
ShiftDuties: "1/1",
WorkStartDate: time.Date(2024, 12, 10, 0, 0, 0, 0, time.Local).Unix(),
TeamLeaderId: 2,
},
{
Id: 3,
TeamTypeId: 2,
TeamMembers: []*Worker{
{Id: 5}, {Id: 6},
},
WorkAreaId: 3,
ShiftDuties: "1/1",
WorkStartDate: time.Date(2025, 1, 7, 0, 0, 0, 0, time.Local).Unix(),
TeamLeaderId: 5,
},
{
Id: 4,
TeamTypeId: 3,
TeamMembers: []*Worker{
{Id: 7}, {Id: 8},
},
WorkAreaId: 8,
ShiftDuties: "2/2",
WorkStartDate: time.Date(2025, 2, 10, 0, 0, 0, 0, time.Local).Unix(),
TeamLeaderId: 7,
},
{
Id: 5,
TeamTypeId: 4,
TeamMembers: []*Worker{
{Id: 4}, {Id: 10}, {Id: 11}, {Id: 12},
},
WorkAreaId: 12,
ShiftDuties: "2/2",
WorkStartDate: time.Date(2025, 3, 10, 0, 0, 0, 0, time.Local).Unix(),
TeamLeaderId: 10,
},
})
}

View File

@@ -9,6 +9,7 @@ type ExcelModule struct{}
var ExcelService = application.NewService(&ExcelModule{}) var ExcelService = application.NewService(&ExcelModule{})
func (s *ExcelModule) ImportAllEntities() error { func (s *ExcelModule) ImportAllEntities() error {
// Example of usage:
//postTypeService := PostTypeService{} //postTypeService := PostTypeService{}
//filepath, err := dialogs.OpenFileDialog("Импорт данных") //filepath, err := dialogs.OpenFileDialog("Импорт данных")
//if err != nil { //if err != nil {
@@ -39,6 +40,7 @@ func (s *ExcelModule) ImportAllEntities() error {
} }
func (s *ExcelModule) ExportAllEntities() error { func (s *ExcelModule) ExportAllEntities() error {
// Example of usage:
//postService := PostService{} //postService := PostService{}
//exporter := excel.Exporter[Post]{ //exporter := excel.Exporter[Post]{
// SheetName: "Посты", // SheetName: "Посты",

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type OrderService struct {
}
type Order = models.Order
func (service *OrderService) Create(item Order) (Order, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.Order.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *OrderService) GetAll() ([]*Order, error) {
var orders []*Order
orders, err := dal.Order.Preload(field.Associations).Find()
return orders, err
}
func (service *OrderService) GetById(id uint) (*Order, error) {
item, err := dal.Order.Preload(field.Associations).Where(dal.Order.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *OrderService) Update(item Order) (Order, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.Order.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *OrderService) Delete(id uint) error {
_, err := dal.Order.Unscoped().Where(dal.Order.Id.Eq(id)).Delete()
return err
}
func (service *OrderService) Count() (int64, error) {
amount, err := dal.Order.Count()
return amount, err
}
func (service *OrderService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*Order, error) {
return utils.SortByOrder(fieldsSortingOrder, Order{})
}
func (service *OrderService) SearchByAllTextFields(phrase string) ([]*Order, error) {
return utils.FindPhraseByStringFields[Order](phrase, Order{})
}

69
internal/services/post.go Normal file
View File

@@ -0,0 +1,69 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type PostService struct {
}
type Post = models.Post
func (service *PostService) Create(item Post) (Post, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.Post.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *PostService) GetAll() ([]*Post, error) {
var posts []*Post
posts, err := dal.Post.Preload(field.Associations).Find()
return posts, err
}
func (service *PostService) GetById(id uint) (*Post, error) {
item, err := dal.Post.Preload(field.Associations).Where(dal.Post.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *PostService) Update(item Post) (Post, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.Post.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *PostService) Delete(id uint) error {
_, err := dal.Post.Unscoped().Where(dal.Post.Id.Eq(id)).Delete()
return err
}
func (service *PostService) Count() (int64, error) {
amount, err := dal.Post.Count()
return amount, err
}
func (service *PostService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*Post, error) {
return utils.SortByOrder(fieldsSortingOrder, Post{})
}
func (service *PostService) SearchByAllTextFields(phrase string) ([]*Post, error) {
return utils.FindPhraseByStringFields[Post](phrase, Post{})
}

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type PrepTaskService struct {
}
type PrepTask = models.PrepTask
func (service *PrepTaskService) Create(item PrepTask) (PrepTask, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.PrepTask.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *PrepTaskService) GetAll() ([]*PrepTask, error) {
var preptasks []*PrepTask
preptasks, err := dal.PrepTask.Preload(field.Associations).Find()
return preptasks, err
}
func (service *PrepTaskService) GetById(id uint) (*PrepTask, error) {
item, err := dal.PrepTask.Preload(field.Associations).Where(dal.PrepTask.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *PrepTaskService) Update(item PrepTask) (PrepTask, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.PrepTask.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *PrepTaskService) Delete(id uint) error {
_, err := dal.PrepTask.Unscoped().Where(dal.PrepTask.Id.Eq(id)).Delete()
return err
}
func (service *PrepTaskService) Count() (int64, error) {
amount, err := dal.PrepTask.Count()
return amount, err
}
func (service *PrepTaskService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*PrepTask, error) {
return utils.SortByOrder(fieldsSortingOrder, PrepTask{})
}
func (service *PrepTaskService) SearchByAllTextFields(phrase string) ([]*PrepTask, error) {
return utils.FindPhraseByStringFields[PrepTask](phrase, PrepTask{})
}

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type ProductTypeService struct {
}
type ProductType = models.ProductType
func (service *ProductTypeService) Create(item ProductType) (ProductType, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.ProductType.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *ProductTypeService) GetAll() ([]*ProductType, error) {
var producttypes []*ProductType
producttypes, err := dal.ProductType.Preload(field.Associations).Find()
return producttypes, err
}
func (service *ProductTypeService) GetById(id uint) (*ProductType, error) {
item, err := dal.ProductType.Preload(field.Associations).Where(dal.ProductType.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *ProductTypeService) Update(item ProductType) (ProductType, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.ProductType.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *ProductTypeService) Delete(id uint) error {
_, err := dal.ProductType.Unscoped().Where(dal.ProductType.Id.Eq(id)).Delete()
return err
}
func (service *ProductTypeService) Count() (int64, error) {
amount, err := dal.ProductType.Count()
return amount, err
}
func (service *ProductTypeService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*ProductType, error) {
return utils.SortByOrder(fieldsSortingOrder, ProductType{})
}
func (service *ProductTypeService) SearchByAllTextFields(phrase string) ([]*ProductType, error) {
return utils.FindPhraseByStringFields[ProductType](phrase, ProductType{})
}

View File

@@ -5,15 +5,5 @@ import (
) )
var ExportedServices = []application.Service{ var ExportedServices = []application.Service{
application.NewService(&CustomerService{}), application.NewService(&Post{}),
application.NewService(&OrderService{}),
application.NewService(&PrepTaskService{}),
application.NewService(&ProductTypeService{}),
application.NewService(&ShiftService{}),
application.NewService(&TaskService{}),
application.NewService(&TeamTaskService{}),
application.NewService(&TeamTypeService{}),
application.NewService(&WorkAreaService{}),
application.NewService(&WorkerService{}),
application.NewService(&WorkshopService{}),
} }

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type ShiftService struct {
}
type Shift = models.Shift
func (service *ShiftService) Create(item Shift) (Shift, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.Shift.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *ShiftService) GetAll() ([]*Shift, error) {
var shifts []*Shift
shifts, err := dal.Shift.Preload(field.Associations).Find()
return shifts, err
}
func (service *ShiftService) GetById(id uint) (*Shift, error) {
item, err := dal.Shift.Preload(field.Associations).Where(dal.Shift.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *ShiftService) Update(item Shift) (Shift, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.Shift.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *ShiftService) Delete(id uint) error {
_, err := dal.Shift.Unscoped().Where(dal.Shift.Id.Eq(id)).Delete()
return err
}
func (service *ShiftService) Count() (int64, error) {
amount, err := dal.Shift.Count()
return amount, err
}
func (service *ShiftService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*Shift, error) {
return utils.SortByOrder(fieldsSortingOrder, Shift{})
}
func (service *ShiftService) SearchByAllTextFields(phrase string) ([]*Shift, error) {
return utils.FindPhraseByStringFields[Shift](phrase, Shift{})
}

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type TaskService struct {
}
type Task = models.Task
func (service *TaskService) Create(item Task) (Task, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.Task.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *TaskService) GetAll() ([]*Task, error) {
var tasks []*Task
tasks, err := dal.Task.Preload(field.Associations).Find()
return tasks, err
}
func (service *TaskService) GetById(id uint) (*Task, error) {
item, err := dal.Task.Preload(field.Associations).Where(dal.Task.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *TaskService) Update(item Task) (Task, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.Task.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *TaskService) Delete(id uint) error {
_, err := dal.Task.Unscoped().Where(dal.Task.Id.Eq(id)).Delete()
return err
}
func (service *TaskService) Count() (int64, error) {
amount, err := dal.Task.Count()
return amount, err
}
func (service *TaskService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*Task, error) {
return utils.SortByOrder(fieldsSortingOrder, Task{})
}
func (service *TaskService) SearchByAllTextFields(phrase string) ([]*Task, error) {
return utils.FindPhraseByStringFields[Task](phrase, Task{})
}

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type TeamTaskService struct {
}
type TeamTask = models.TeamTask
func (service *TeamTaskService) Create(item TeamTask) (TeamTask, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.TeamTask.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *TeamTaskService) GetAll() ([]*TeamTask, error) {
var teamtasks []*TeamTask
teamtasks, err := dal.TeamTask.Preload(field.Associations).Find()
return teamtasks, err
}
func (service *TeamTaskService) GetById(id uint) (*TeamTask, error) {
item, err := dal.TeamTask.Preload(field.Associations).Where(dal.TeamTask.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *TeamTaskService) Update(item TeamTask) (TeamTask, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.TeamTask.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *TeamTaskService) Delete(id uint) error {
_, err := dal.TeamTask.Unscoped().Where(dal.TeamTask.Id.Eq(id)).Delete()
return err
}
func (service *TeamTaskService) Count() (int64, error) {
amount, err := dal.TeamTask.Count()
return amount, err
}
func (service *TeamTaskService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*TeamTask, error) {
return utils.SortByOrder(fieldsSortingOrder, TeamTask{})
}
func (service *TeamTaskService) SearchByAllTextFields(phrase string) ([]*TeamTask, error) {
return utils.FindPhraseByStringFields[TeamTask](phrase, TeamTask{})
}

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type TeamTypeService struct {
}
type TeamType = models.TeamType
func (service *TeamTypeService) Create(item TeamType) (TeamType, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.TeamType.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *TeamTypeService) GetAll() ([]*TeamType, error) {
var teamtypes []*TeamType
teamtypes, err := dal.TeamType.Preload(field.Associations).Find()
return teamtypes, err
}
func (service *TeamTypeService) GetById(id uint) (*TeamType, error) {
item, err := dal.TeamType.Preload(field.Associations).Where(dal.TeamType.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *TeamTypeService) Update(item TeamType) (TeamType, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.TeamType.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *TeamTypeService) Delete(id uint) error {
_, err := dal.TeamType.Unscoped().Where(dal.TeamType.Id.Eq(id)).Delete()
return err
}
func (service *TeamTypeService) Count() (int64, error) {
amount, err := dal.TeamType.Count()
return amount, err
}
func (service *TeamTypeService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*TeamType, error) {
return utils.SortByOrder(fieldsSortingOrder, TeamType{})
}
func (service *TeamTypeService) SearchByAllTextFields(phrase string) ([]*TeamType, error) {
return utils.FindPhraseByStringFields[TeamType](phrase, TeamType{})
}

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type WorkAreaService struct {
}
type WorkArea = models.WorkArea
func (service *WorkAreaService) Create(item WorkArea) (WorkArea, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.WorkArea.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *WorkAreaService) GetAll() ([]*WorkArea, error) {
var workareas []*WorkArea
workareas, err := dal.WorkArea.Preload(field.Associations).Find()
return workareas, err
}
func (service *WorkAreaService) GetById(id uint) (*WorkArea, error) {
item, err := dal.WorkArea.Preload(field.Associations).Where(dal.WorkArea.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *WorkAreaService) Update(item WorkArea) (WorkArea, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.WorkArea.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *WorkAreaService) Delete(id uint) error {
_, err := dal.WorkArea.Unscoped().Where(dal.WorkArea.Id.Eq(id)).Delete()
return err
}
func (service *WorkAreaService) Count() (int64, error) {
amount, err := dal.WorkArea.Count()
return amount, err
}
func (service *WorkAreaService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*WorkArea, error) {
return utils.SortByOrder(fieldsSortingOrder, WorkArea{})
}
func (service *WorkAreaService) SearchByAllTextFields(phrase string) ([]*WorkArea, error) {
return utils.FindPhraseByStringFields[WorkArea](phrase, WorkArea{})
}

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type WorkerService struct {
}
type Worker = models.Worker
func (service *WorkerService) Create(item Worker) (Worker, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.Worker.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *WorkerService) GetAll() ([]*Worker, error) {
var workers []*Worker
workers, err := dal.Worker.Preload(field.Associations).Find()
return workers, err
}
func (service *WorkerService) GetById(id uint) (*Worker, error) {
item, err := dal.Worker.Preload(field.Associations).Where(dal.Worker.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *WorkerService) Update(item Worker) (Worker, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.Worker.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *WorkerService) Delete(id uint) error {
_, err := dal.Worker.Unscoped().Where(dal.Worker.Id.Eq(id)).Delete()
return err
}
func (service *WorkerService) Count() (int64, error) {
amount, err := dal.Worker.Count()
return amount, err
}
func (service *WorkerService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*Worker, error) {
return utils.SortByOrder(fieldsSortingOrder, Worker{})
}
func (service *WorkerService) SearchByAllTextFields(phrase string) ([]*Worker, error) {
return utils.FindPhraseByStringFields[Worker](phrase, Worker{})
}

View File

@@ -1,69 +0,0 @@
package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/models"
"app/internal/utils"
"errors"
"gorm.io/gen/field"
"gorm.io/gorm"
)
type WorkshopService struct {
}
type Workshop = models.Workshop
func (service *WorkshopService) Create(item Workshop) (Workshop, error) {
utils.ReplaceEmptySlicesWithNil(&item)
err := dal.Workshop.Create(&item)
if err != nil {
return item, err
}
err = utils.AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *WorkshopService) GetAll() ([]*Workshop, error) {
var workshops []*Workshop
workshops, err := dal.Workshop.Preload(field.Associations).Find()
return workshops, err
}
func (service *WorkshopService) GetById(id uint) (*Workshop, error) {
item, err := dal.Workshop.Preload(field.Associations).Where(dal.Workshop.Id.Eq(id)).First()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
} else {
return nil, err
}
}
return item, nil
}
func (service *WorkshopService) Update(item Workshop) (Workshop, error) {
utils.ReplaceEmptySlicesWithNil(&item)
_, err := dal.Workshop.Updates(&item)
if err != nil {
return item, err
}
err = utils.UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *WorkshopService) Delete(id uint) error {
_, err := dal.Workshop.Unscoped().Where(dal.Workshop.Id.Eq(id)).Delete()
return err
}
func (service *WorkshopService) Count() (int64, error) {
amount, err := dal.Workshop.Count()
return amount, err
}
func (service *WorkshopService) SortedByOrder(fieldsSortingOrder []utils.SortField) ([]*Workshop, error) {
return utils.SortByOrder(fieldsSortingOrder, Workshop{})
}
func (service *WorkshopService) SearchByAllTextFields(phrase string) ([]*Workshop, error) {
return utils.FindPhraseByStringFields[Workshop](phrase, Workshop{})
}