Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 682daa1326 | |||
| 648c9ee7d3 | |||
| 670906d926 | |||
| e95f7bd342 | |||
| bbef014937 | |||
| eb50e9a2ac |
8
.idea/workspace.xml
generated
8
.idea/workspace.xml
generated
@@ -6,7 +6,13 @@
|
|||||||
<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$/frontend/bindings/app/internal/services/excelmodule.ts" beforeDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/frontend/bindings/app/internal/services/index.ts" 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/posts.gen.go" beforeDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/internal/dal/posts.gen_test.go" beforeDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/main.go" beforeDir="false" afterPath="$PROJECT_DIR$/main.go" afterDir="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" />
|
||||||
|
|||||||
10
LICENSE
Normal file
10
LICENSE
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2025 Georgiy Derbenev & Chabanenko Vladislav
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
13
README.md
13
README.md
@@ -6,7 +6,7 @@
|
|||||||
- [x] Crud service generator (based on gorm gen)
|
- [x] Crud service generator (based on gorm gen)
|
||||||
- [ ] Easy init without git repository (like create-nto-app)
|
- [ ] Easy init without git repository (like create-nto-app)
|
||||||
- [x] Excel export
|
- [x] Excel export
|
||||||
- [ ] Models validation logic (callbacks and other stuff)
|
- [x] Models validation logic (callbacks and other stuff)
|
||||||
- [ ] Models [linter](https://git.gogacoder.ru/NTO/gormlint)
|
- [ ] Models [linter](https://git.gogacoder.ru/NTO/gormlint)
|
||||||
- [x] Auto-generated frontend
|
- [x] Auto-generated frontend
|
||||||
|
|
||||||
@@ -16,13 +16,12 @@
|
|||||||
|
|
||||||
- [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/)
|
||||||
|
- [Obsidian](https://obsidian.md/)
|
||||||
- Wails3
|
- Wails3
|
||||||
- MinGw-64: https://jmeubank.github.io/tdm-gcc/
|
- MinGw-64 (необязательно): https://jmeubank.github.io/tdm-gcc/
|
||||||
**Необходимо зазеркалировать с Github!!!**
|
|
||||||
|
|
||||||
## Разработка
|
## Разработка
|
||||||
|
|
||||||
@@ -51,7 +50,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
|
||||||
```
|
```
|
||||||
|
|
||||||
## Сборка
|
## Сборка
|
||||||
|
|||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
|
|
||||||
// This file is automatically generated. DO NOT EDIT
|
|
||||||
|
|
||||||
import * as CustomerService from "./customerservice.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 {
|
|
||||||
CustomerService,
|
|
||||||
ExcelModule,
|
|
||||||
OrderService,
|
|
||||||
PrepTaskService,
|
|
||||||
ProductTypeService,
|
|
||||||
ShiftService,
|
|
||||||
TaskService,
|
|
||||||
TeamTaskService,
|
|
||||||
TeamTypeService,
|
|
||||||
WorkAreaService,
|
|
||||||
WorkerService,
|
|
||||||
WorkshopService
|
|
||||||
};
|
|
||||||
|
|
||||||
export * from "./models.js";
|
|
||||||
@@ -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;
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
|
|
||||||
// This file is automatically generated. DO NOT EDIT
|
|
||||||
|
|
||||||
export * from "./models.js";
|
|
||||||
@@ -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>);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -6,11 +6,11 @@
|
|||||||
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
|
import {Call as $Call, Create as $Create} from "@wailsio/runtime";
|
||||||
|
|
||||||
export function ExportAllEntities(): Promise<void> & { cancel(): void } {
|
export function ExportAllEntities(): Promise<void> & { cancel(): void } {
|
||||||
let $resultPromise = $Call.ByID(794946560) as any;
|
let $resultPromise = $Call.ByID(4195777221) as any;
|
||||||
return $resultPromise;
|
return $resultPromise;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function ImportAllEntities(): Promise<void> & { cancel(): void } {
|
export function ImportAllEntities(): Promise<void> & { cancel(): void } {
|
||||||
let $resultPromise = $Call.ByID(2992267629) as any;
|
let $resultPromise = $Call.ByID(2803141560) as any;
|
||||||
return $resultPromise;
|
return $resultPromise;
|
||||||
}
|
}
|
||||||
@@ -1,4 +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
|
||||||
|
|
||||||
export * from "./models.js";
|
import * as ExcelModule from "./excelmodule.js";
|
||||||
|
export {
|
||||||
|
ExcelModule
|
||||||
|
};
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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[];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
2
go.mod
2
go.mod
@@ -1,4 +1,4 @@
|
|||||||
module app
|
module git.gogacoder.ru/NTO/boilerplate
|
||||||
|
|
||||||
go 1.23.0
|
go 1.23.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package excel
|
package excel
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"app/internal/dialogs"
|
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/dialogs"
|
||||||
"github.com/kuzgoga/fogg"
|
"github.com/kuzgoga/fogg"
|
||||||
"github.com/xuri/excelize/v2"
|
"github.com/xuri/excelize/v2"
|
||||||
"golang.org/x/text/language"
|
"golang.org/x/text/language"
|
||||||
|
|||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -16,84 +16,34 @@ 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 }
|
||||||
|
|
||||||
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),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,48 +57,18 @@ 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),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
387
internal/dal/posts.gen.go
Normal file
387
internal/dal/posts.gen.go
Normal file
@@ -0,0 +1,387 @@
|
|||||||
|
// 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 (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/models"
|
||||||
|
"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.CreatedAt = field.NewUint(tableName, "created_at")
|
||||||
|
|
||||||
|
_post.fillFieldMap()
|
||||||
|
|
||||||
|
return _post
|
||||||
|
}
|
||||||
|
|
||||||
|
type post struct {
|
||||||
|
postDo
|
||||||
|
|
||||||
|
ALL field.Asterisk
|
||||||
|
Id field.Uint
|
||||||
|
Text field.String
|
||||||
|
CreatedAt field.Uint
|
||||||
|
|
||||||
|
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.CreatedAt = field.NewUint(table, "created_at")
|
||||||
|
|
||||||
|
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, 3)
|
||||||
|
p.fieldMap["id"] = p.Id
|
||||||
|
p.fieldMap["text"] = p.Text
|
||||||
|
p.fieldMap["created_at"] = p.CreatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
145
internal/dal/posts.gen_test.go
Normal file
145
internal/dal/posts.gen_test.go
Normal 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 (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/models"
|
||||||
|
"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)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -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
@@ -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
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -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
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,10 @@
|
|||||||
package database
|
package database
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"app/internal/dal"
|
|
||||||
"context"
|
"context"
|
||||||
|
"database/sql"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/dal"
|
||||||
|
"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))
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"app/internal/models"
|
"git.gogacoder.ru/NTO/boilerplate/internal/models"
|
||||||
|
|
||||||
"gorm.io/gen"
|
"gorm.io/gen"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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"`
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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{})
|
|
||||||
}
|
|
||||||
@@ -1,22 +1,31 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"app/internal/dialogs"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"git.gogacoder.ru/NTO/boilerplate/internal/dialogs"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
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{}, []models.Post{
|
||||||
|
{Text: "В Кузбассе начали строить дома выше, чтобы их жители стали ближе к Богу."},
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func InsertDefaultEntityData[T any](service Service[T], entities []T) {
|
func InsertDefaultEntityData[T any](service Service[T], entities []T) {
|
||||||
@@ -27,387 +36,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,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -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: "Посты",
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package services
|
package services
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"app/internal/database"
|
|
||||||
"app/internal/models"
|
|
||||||
"context"
|
"context"
|
||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/database"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/models"
|
||||||
"io"
|
"io"
|
||||||
"log/slog"
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
|
|||||||
@@ -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
69
internal/services/post.go
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
package services
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/dal"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/database"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/models"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/utils"
|
||||||
|
"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{})
|
||||||
|
}
|
||||||
@@ -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{})
|
|
||||||
}
|
|
||||||
@@ -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{})
|
|
||||||
}
|
|
||||||
@@ -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{}),
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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{})
|
|
||||||
}
|
|
||||||
@@ -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{})
|
|
||||||
}
|
|
||||||
@@ -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{})
|
|
||||||
}
|
|
||||||
@@ -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{})
|
|
||||||
}
|
|
||||||
@@ -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{})
|
|
||||||
}
|
|
||||||
@@ -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{})
|
|
||||||
}
|
|
||||||
@@ -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{})
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package utils
|
package utils
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"app/internal/database"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/database"
|
||||||
"gorm.io/gorm/clause"
|
"gorm.io/gorm/clause"
|
||||||
"reflect"
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package utils
|
package utils
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"app/internal/database"
|
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"git.gogacoder.ru/NTO/boilerplate/internal/database"
|
||||||
"github.com/kuzgoga/fogg"
|
"github.com/kuzgoga/fogg"
|
||||||
"golang.org/x/text/language"
|
"golang.org/x/text/language"
|
||||||
"golang.org/x/text/message"
|
"golang.org/x/text/message"
|
||||||
|
|||||||
Reference in New Issue
Block a user