owl-progiciel-beta 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +4 -3
  2. package/dist/core/Database.d.ts +3 -0
  3. package/dist/core/Entity.d.ts +5 -0
  4. package/dist/core/EventBus.d.ts +13 -0
  5. package/dist/core/Manager.d.ts +7 -0
  6. package/dist/core/Module.d.ts +4 -0
  7. package/dist/core/PrismaDatabase.d.ts +8 -0
  8. package/dist/core/events/ClientEvents.d.ts +3 -0
  9. package/dist/core/events/ItemEvents.d.ts +3 -0
  10. package/dist/core/events/OrderEvents.d.ts +3 -0
  11. package/dist/core/events/PreparationEvents.d.ts +3 -0
  12. package/dist/core/events/PurchaseEvents.d.ts +3 -0
  13. package/dist/core/events/ReceptionEvents.d.ts +3 -0
  14. package/dist/core/events/StockEvents.d.ts +3 -0
  15. package/dist/core/events/SupplierEvents.d.ts +3 -0
  16. package/dist/core/events/TaxEvents.d.ts +3 -0
  17. package/dist/core/events/UserEvents.d.ts +3 -0
  18. package/dist/entities/Client.d.ts +10 -0
  19. package/dist/entities/Item.d.ts +15 -0
  20. package/dist/entities/Order.d.ts +12 -0
  21. package/dist/entities/Preparation.d.ts +13 -0
  22. package/dist/entities/Purchase.d.ts +12 -0
  23. package/dist/entities/Reception.d.ts +13 -0
  24. package/dist/entities/Stock.d.ts +8 -0
  25. package/dist/entities/Supplier.d.ts +10 -0
  26. package/dist/entities/Tax.d.ts +10 -0
  27. package/dist/entities/User.d.ts +11 -0
  28. package/dist/erp/ERPClient.d.ts +38 -0
  29. package/dist/index.d.ts +12 -0
  30. package/dist/managers/ClientManager.d.ts +9 -0
  31. package/dist/managers/ItemManager.d.ts +9 -0
  32. package/dist/managers/OrderManager.d.ts +9 -0
  33. package/dist/managers/PreparationManager.d.ts +9 -0
  34. package/dist/managers/PurchaseManager.d.ts +9 -0
  35. package/dist/managers/ReceptionManager.d.ts +9 -0
  36. package/dist/managers/StockManager.d.ts +9 -0
  37. package/dist/managers/SupplierManager.d.ts +9 -0
  38. package/dist/managers/TaxManager.d.ts +9 -0
  39. package/dist/managers/UserManager.d.ts +10 -0
  40. package/package.json +3 -3
  41. package/prisma/migrations/20260114200727_init/migration.sql +0 -218
  42. package/prisma/migrations/migration_lock.toml +0 -3
package/README.md CHANGED
@@ -1,5 +1,6 @@
1
- Dans un .env ajouter DATABASE_URL, en postgresql
1
+ Dans un .env ajouter :
2
+ - DATABASE_URL (postgresql)
3
+ - TOKEN
2
4
 
3
- prisma generate
4
- npx prisma migrate
5
+ npm run prisma
5
6
  node main.js
@@ -0,0 +1,3 @@
1
+ export interface Database {
2
+ init(): Promise<void>;
3
+ }
@@ -0,0 +1,5 @@
1
+ import { ERPClient } from "../erp/ERPClient.js";
2
+ export declare abstract class Entity {
3
+ erp: ERPClient;
4
+ constructor(erp: ERPClient);
5
+ }
@@ -0,0 +1,13 @@
1
+ type Listener<T = any> = (payload?: T) => void;
2
+ type RequestListener = (payload?: any) => any | Promise<any>;
3
+ export declare class EventBus {
4
+ private listeners;
5
+ private requestListeners;
6
+ on(event: string, listener: Listener): void;
7
+ once(event: string, listener: Listener): void;
8
+ off(event: string, listener: Listener): void;
9
+ emit(event: string, payload?: any): void;
10
+ onRequest(event: string, listener: RequestListener): void;
11
+ request<T = any>(event: string, payload?: any): Promise<T>;
12
+ }
13
+ export {};
@@ -0,0 +1,7 @@
1
+ import { Entity } from "./Entity.js";
2
+ export declare abstract class Manager<K, V extends Entity> {
3
+ protected erp: any;
4
+ cache: Map<K, V>;
5
+ constructor(erp: any);
6
+ abstract fetch(id: K): Promise<V>;
7
+ }
@@ -0,0 +1,4 @@
1
+ export interface ERPModule {
2
+ name: string;
3
+ init(client: any): void;
4
+ }
@@ -0,0 +1,8 @@
1
+ import type { ERPClient } from "../erp/ERPClient.js";
2
+ export declare class PrismaDatabase {
3
+ private erp;
4
+ private prisma;
5
+ constructor(erp: ERPClient);
6
+ connect(): Promise<void>;
7
+ private bindEvents;
8
+ }
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ERPClient } from "../../erp/ERPClient.js";
3
+ export default function bindClientEvents(erp: ERPClient, prisma: PrismaClient): void;
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ERPClient } from "../../erp/ERPClient.js";
3
+ export default function bindItemEvents(erp: ERPClient, prisma: PrismaClient): void;
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ERPClient } from "../../erp/ERPClient.js";
3
+ export default function bindOrderEvents(erp: ERPClient, prisma: PrismaClient): void;
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ERPClient } from "../../erp/ERPClient.js";
3
+ export default function bindPreparationEvents(erp: ERPClient, prisma: PrismaClient): void;
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ERPClient } from "../../erp/ERPClient.js";
3
+ export default function bindPurchaseEvents(erp: ERPClient, prisma: PrismaClient): void;
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ERPClient } from "../../erp/ERPClient.js";
3
+ export default function bindReceptionEvents(erp: ERPClient, prisma: PrismaClient): void;
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ERPClient } from "../../erp/ERPClient.js";
3
+ export default function bindStockEvents(erp: ERPClient, prisma: PrismaClient): void;
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ERPClient } from "../../erp/ERPClient.js";
3
+ export default function bindSupplierEvents(erp: ERPClient, prisma: PrismaClient): void;
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ERPClient } from "../../erp/ERPClient.js";
3
+ export default function bindTaxEvents(erp: ERPClient, prisma: PrismaClient): void;
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ERPClient } from "../../erp/ERPClient.js";
3
+ export default function bindUserEvents(erp: ERPClient, prisma: PrismaClient): void;
@@ -0,0 +1,10 @@
1
+ import { Entity } from "../core/Entity.js";
2
+ import { Tax } from "./Tax.js";
3
+ export declare class Client extends Entity {
4
+ id: number;
5
+ ref?: number;
6
+ name?: string;
7
+ address?: string[];
8
+ taxes?: Tax[];
9
+ constructor(erp: any, init: Partial<Client>);
10
+ }
@@ -0,0 +1,15 @@
1
+ import { Entity } from "../core/Entity.js";
2
+ export declare class Item extends Entity {
3
+ id: number;
4
+ ref?: string;
5
+ label?: string;
6
+ weight?: number;
7
+ piece?: number;
8
+ pack?: number;
9
+ stockUnit?: "weight" | "piece" | "pack";
10
+ salesUnit?: "weight" | "piece" | "pack";
11
+ purchasingUnit?: "weight" | "piece" | "pack";
12
+ salesPrice?: number;
13
+ purchasingPrice?: number;
14
+ constructor(erp: any, init: Partial<Item>);
15
+ }
@@ -0,0 +1,12 @@
1
+ import { Entity } from "../core/Entity.js";
2
+ import { Client } from "./Client.js";
3
+ import { Item } from "./Item.js";
4
+ export declare class Order extends Entity {
5
+ id: number;
6
+ ref?: number;
7
+ userId?: number;
8
+ client?: Client;
9
+ items?: Item[];
10
+ state?: string;
11
+ constructor(erp: any, init: Partial<Order>);
12
+ }
@@ -0,0 +1,13 @@
1
+ import { Entity } from "../core/Entity.js";
2
+ import { Item } from "./Item.js";
3
+ import { Order } from "./Order.js";
4
+ export declare class Preparation extends Entity {
5
+ id: number;
6
+ ref?: number;
7
+ userId?: number;
8
+ order?: Order;
9
+ items?: Item[];
10
+ state?: string;
11
+ batch?: string;
12
+ constructor(erp: any, init: Partial<Preparation>);
13
+ }
@@ -0,0 +1,12 @@
1
+ import { Entity } from "../core/Entity.js";
2
+ import { Item } from "./Item.js";
3
+ import { Supplier } from "./Supplier.js";
4
+ export declare class Purchase extends Entity {
5
+ id: number;
6
+ ref?: number;
7
+ userId?: number;
8
+ supplier?: Supplier;
9
+ items?: Item[];
10
+ state?: string;
11
+ constructor(erp: any, init: Partial<Purchase>);
12
+ }
@@ -0,0 +1,13 @@
1
+ import { Entity } from "../core/Entity.js";
2
+ import { Item } from "./Item.js";
3
+ import { Purchase } from "./Purchase.js";
4
+ export declare class Reception extends Entity {
5
+ id: number;
6
+ ref?: number;
7
+ userId?: number;
8
+ purchase?: Purchase;
9
+ items?: Item[];
10
+ state?: string;
11
+ batch?: string;
12
+ constructor(erp: any, init: Partial<Reception>);
13
+ }
@@ -0,0 +1,8 @@
1
+ import { Entity } from "../core/Entity.js";
2
+ import { Item } from "./Item.js";
3
+ export declare class Stock extends Entity {
4
+ id: number;
5
+ item?: Item;
6
+ batch?: string;
7
+ constructor(erp: any, init: Partial<Stock>);
8
+ }
@@ -0,0 +1,10 @@
1
+ import { Entity } from "../core/Entity.js";
2
+ import { Tax } from "./Tax.js";
3
+ export declare class Supplier extends Entity {
4
+ id: number;
5
+ ref?: number;
6
+ name?: string;
7
+ address?: string[];
8
+ taxes?: Tax[];
9
+ constructor(erp: any, init: Partial<Supplier>);
10
+ }
@@ -0,0 +1,10 @@
1
+ import { Entity } from "../core/Entity.js";
2
+ export declare class Tax extends Entity {
3
+ id: number;
4
+ ref?: number;
5
+ label?: string;
6
+ fix?: number;
7
+ rate?: number;
8
+ active?: boolean;
9
+ constructor(erp: any, init: Partial<Tax>);
10
+ }
@@ -0,0 +1,11 @@
1
+ import { Entity } from "../core/Entity.js";
2
+ export declare class User extends Entity {
3
+ id: number;
4
+ email?: string;
5
+ password?: string;
6
+ authorizations: Set<string>;
7
+ constructor(erp: any, init: Partial<User>);
8
+ hasPermission(permission: string): boolean;
9
+ addPermission(permission: string): void;
10
+ removePermission(permission: string): void;
11
+ }
@@ -0,0 +1,38 @@
1
+ import { EventBus } from "../core/EventBus.js";
2
+ import { UserManager } from "../managers/UserManager.js";
3
+ import { OrderManager } from "../managers/OrderManager.js";
4
+ import { ERPModule } from "../core/Module.js";
5
+ import { PrismaDatabase } from "../core/PrismaDatabase.js";
6
+ import { User } from "../entities/User.js";
7
+ import { ClientManager } from "../managers/ClientManager.js";
8
+ import { SupplierManager } from "../managers/SupplierManager.js";
9
+ import { ItemManager } from "../managers/ItemManager.js";
10
+ import { PreparationManager } from "../managers/PreparationManager.js";
11
+ import { PurchaseManager } from "../managers/PurchaseManager.js";
12
+ import { ReceptionManager } from "../managers/ReceptionManager.js";
13
+ import { StockManager } from "../managers/StockManager.js";
14
+ import { TaxManager } from "../managers/TaxManager.js";
15
+ export declare class ERPClient {
16
+ dbConfig: any;
17
+ users: UserManager;
18
+ clients: ClientManager;
19
+ supplier: SupplierManager;
20
+ items: ItemManager;
21
+ orders: OrderManager;
22
+ preparations: PreparationManager;
23
+ purchases: PurchaseManager;
24
+ receptions: ReceptionManager;
25
+ stocks: StockManager;
26
+ taxes: TaxManager;
27
+ events: EventBus;
28
+ db?: PrismaDatabase;
29
+ private modules;
30
+ private token;
31
+ private currentUser?;
32
+ constructor(token: string, dbConfig: any);
33
+ private validateToken;
34
+ init(): Promise<void>;
35
+ private login;
36
+ getCurrentUser(): User;
37
+ registerModule(module: ERPModule): void;
38
+ }
@@ -0,0 +1,12 @@
1
+ export { ERPClient } from "./erp/ERPClient.js";
2
+ export * from "./core/Module.js";
3
+ export * from "./entities/User.js";
4
+ export * from "./entities/Client.js";
5
+ export * from "./entities/Supplier.js";
6
+ export * from "./entities/Item.js";
7
+ export * from "./entities/Order.js";
8
+ export * from "./entities/Preparation.js";
9
+ export * from "./entities/Purchase.js";
10
+ export * from "./entities/Reception.js";
11
+ export * from "./entities/Stock.js";
12
+ export * from "./entities/Tax.js";
@@ -0,0 +1,9 @@
1
+ import { Manager } from "../core/Manager.js";
2
+ import { Client } from "../entities/Client.js";
3
+ export declare class ClientManager extends Manager<number, Client> {
4
+ fetch(id: number): Promise<Client>;
5
+ fetchAll(): Promise<any>;
6
+ new(data: Partial<Client>): Promise<Client>;
7
+ modify(id: number, data: Partial<Client>): Promise<void>;
8
+ delete(id: number): Promise<void>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Manager } from "../core/Manager.js";
2
+ import { Item } from "../entities/Item.js";
3
+ export declare class ItemManager extends Manager<number, Item> {
4
+ fetch(id: number): Promise<Item>;
5
+ fetchAll(): Promise<any>;
6
+ new(data: Partial<Item>): Promise<Item>;
7
+ modify(id: number, data: Partial<Item>): Promise<void>;
8
+ delete(id: number): Promise<void>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Manager } from "../core/Manager.js";
2
+ import { Order } from "../entities/Order.js";
3
+ export declare class OrderManager extends Manager<number, Order> {
4
+ fetch(id: number): Promise<Order>;
5
+ fetchAll(): Promise<any>;
6
+ new(data: Partial<Order>): Promise<Order>;
7
+ modify(id: number, data: Partial<Order>): Promise<void>;
8
+ delete(id: number): Promise<void>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Manager } from "../core/Manager.js";
2
+ import { Preparation } from "../entities/Preparation.js";
3
+ export declare class PreparationManager extends Manager<number, Preparation> {
4
+ fetch(id: number): Promise<Preparation>;
5
+ fetchAll(): Promise<any>;
6
+ new(data: Partial<Preparation>): Promise<Preparation>;
7
+ modify(id: number, data: Partial<Preparation>): Promise<void>;
8
+ delete(id: number): Promise<void>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Manager } from "../core/Manager.js";
2
+ import { Purchase } from "../entities/Purchase.js";
3
+ export declare class PurchaseManager extends Manager<number, Purchase> {
4
+ fetch(id: number): Promise<Purchase>;
5
+ fetchAll(): Promise<any>;
6
+ new(data: Partial<Purchase>): Promise<Purchase>;
7
+ modify(id: number, data: Partial<Purchase>): Promise<void>;
8
+ delete(id: number): Promise<void>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Manager } from "../core/Manager.js";
2
+ import { Reception } from "../entities/Reception.js";
3
+ export declare class ReceptionManager extends Manager<number, Reception> {
4
+ fetch(id: number): Promise<Reception>;
5
+ fetchAll(): Promise<any>;
6
+ new(data: Partial<Reception>): Promise<Reception>;
7
+ modify(id: number, data: Partial<Reception>): Promise<void>;
8
+ delete(id: number): Promise<void>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Manager } from "../core/Manager.js";
2
+ import { Stock } from "../entities/Stock.js";
3
+ export declare class StockManager extends Manager<number, Stock> {
4
+ fetch(id: number): Promise<Stock>;
5
+ fetchAll(): Promise<any>;
6
+ new(data: Partial<Stock>): Promise<Stock>;
7
+ modify(id: number, data: Partial<Stock>): Promise<void>;
8
+ delete(id: number): Promise<void>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Manager } from "../core/Manager.js";
2
+ import { Supplier } from "../entities/Supplier.js";
3
+ export declare class SupplierManager extends Manager<number, Supplier> {
4
+ fetch(id: number): Promise<Supplier>;
5
+ fetchAll(): Promise<any>;
6
+ new(data: Partial<Supplier>): Promise<Supplier>;
7
+ modify(id: number, data: Partial<Supplier>): Promise<void>;
8
+ delete(id: number): Promise<void>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Manager } from "../core/Manager.js";
2
+ import { Tax } from "../entities/Tax.js";
3
+ export declare class TaxManager extends Manager<number, Tax> {
4
+ fetch(id: number): Promise<Tax>;
5
+ fetchAll(): Promise<any>;
6
+ new(data: Partial<Tax>): Promise<Tax>;
7
+ modify(id: number, data: Partial<Tax>): Promise<void>;
8
+ delete(id: number): Promise<void>;
9
+ }
@@ -0,0 +1,10 @@
1
+ import { Manager } from "../core/Manager.js";
2
+ import { User } from "../entities/User.js";
3
+ export declare class UserManager extends Manager<number, User> {
4
+ login(email: string, password: string): Promise<User>;
5
+ fetch(id: number): Promise<User>;
6
+ fetchAll(): Promise<any>;
7
+ new(data: Partial<User>): Promise<User>;
8
+ modify(id: number, data: Partial<User>): Promise<void>;
9
+ delete(id: number): Promise<void>;
10
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "owl-progiciel-beta",
3
- "version": "1.0.0",
4
- "description": "Framework ERP headless modulaire",
3
+ "version": "1.0.2",
4
+ "description": "Progiciel / ERP modulaire",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
@@ -11,7 +11,7 @@
11
11
  ],
12
12
  "scripts": {
13
13
  "build": "tsc",
14
- "generate": "prisma generate",
14
+ "prisma": "npm install prisma @prisma/client && npx prisma generate --schema=node_modules/owl-progiciel-beta/prisma/schema.prisma",
15
15
  "prepublishOnly": "npm run build"
16
16
  },
17
17
  "keywords": [
@@ -1,218 +0,0 @@
1
- -- CreateEnum
2
- CREATE TYPE "UnitType" AS ENUM ('weight', 'piece', 'pack');
3
-
4
- -- CreateTable
5
- CREATE TABLE "User" (
6
- "id" SERIAL NOT NULL,
7
- "email" TEXT,
8
- "password" TEXT,
9
- "authorizations" TEXT[] DEFAULT ARRAY[]::TEXT[],
10
-
11
- CONSTRAINT "User_pkey" PRIMARY KEY ("id")
12
- );
13
-
14
- -- CreateTable
15
- CREATE TABLE "Client" (
16
- "id" SERIAL NOT NULL,
17
- "ref" INTEGER,
18
- "name" TEXT,
19
- "address" TEXT[],
20
-
21
- CONSTRAINT "Client_pkey" PRIMARY KEY ("id")
22
- );
23
-
24
- -- CreateTable
25
- CREATE TABLE "Supplier" (
26
- "id" SERIAL NOT NULL,
27
- "ref" INTEGER,
28
- "name" TEXT,
29
- "address" TEXT[],
30
-
31
- CONSTRAINT "Supplier_pkey" PRIMARY KEY ("id")
32
- );
33
-
34
- -- CreateTable
35
- CREATE TABLE "Item" (
36
- "id" SERIAL NOT NULL,
37
- "ref" TEXT,
38
- "label" TEXT,
39
- "weight" DOUBLE PRECISION,
40
- "piece" INTEGER,
41
- "pack" INTEGER,
42
- "stockUnit" "UnitType",
43
- "salesUnit" "UnitType",
44
- "purchasingUnit" "UnitType",
45
- "salesPrice" DOUBLE PRECISION,
46
- "purchasingPrice" DOUBLE PRECISION,
47
-
48
- CONSTRAINT "Item_pkey" PRIMARY KEY ("id")
49
- );
50
-
51
- -- CreateTable
52
- CREATE TABLE "Order" (
53
- "id" SERIAL NOT NULL,
54
- "ref" INTEGER,
55
- "userId" INTEGER,
56
- "state" TEXT,
57
- "clientId" INTEGER,
58
-
59
- CONSTRAINT "Order_pkey" PRIMARY KEY ("id")
60
- );
61
-
62
- -- CreateTable
63
- CREATE TABLE "Preparation" (
64
- "id" SERIAL NOT NULL,
65
- "ref" INTEGER,
66
- "userId" INTEGER,
67
- "state" TEXT,
68
- "batch" TEXT,
69
- "orderId" INTEGER,
70
-
71
- CONSTRAINT "Preparation_pkey" PRIMARY KEY ("id")
72
- );
73
-
74
- -- CreateTable
75
- CREATE TABLE "Purchase" (
76
- "id" SERIAL NOT NULL,
77
- "ref" INTEGER,
78
- "userId" INTEGER,
79
- "state" TEXT,
80
- "supplierId" INTEGER,
81
-
82
- CONSTRAINT "Purchase_pkey" PRIMARY KEY ("id")
83
- );
84
-
85
- -- CreateTable
86
- CREATE TABLE "Reception" (
87
- "id" SERIAL NOT NULL,
88
- "ref" INTEGER,
89
- "userId" INTEGER,
90
- "state" TEXT,
91
- "batch" TEXT,
92
- "purchaseId" INTEGER,
93
-
94
- CONSTRAINT "Reception_pkey" PRIMARY KEY ("id")
95
- );
96
-
97
- -- CreateTable
98
- CREATE TABLE "Stock" (
99
- "id" SERIAL NOT NULL,
100
- "batch" TEXT,
101
- "itemId" INTEGER,
102
-
103
- CONSTRAINT "Stock_pkey" PRIMARY KEY ("id")
104
- );
105
-
106
- -- CreateTable
107
- CREATE TABLE "Tax" (
108
- "id" SERIAL NOT NULL,
109
- "ref" INTEGER,
110
- "label" TEXT,
111
- "fix" DOUBLE PRECISION,
112
- "rate" DOUBLE PRECISION,
113
- "active" BOOLEAN NOT NULL DEFAULT true,
114
-
115
- CONSTRAINT "Tax_pkey" PRIMARY KEY ("id")
116
- );
117
-
118
- -- CreateTable
119
- CREATE TABLE "ClientTax" (
120
- "clientId" INTEGER NOT NULL,
121
- "taxId" INTEGER NOT NULL,
122
-
123
- CONSTRAINT "ClientTax_pkey" PRIMARY KEY ("clientId","taxId")
124
- );
125
-
126
- -- CreateTable
127
- CREATE TABLE "SupplierTax" (
128
- "supplierId" INTEGER NOT NULL,
129
- "taxId" INTEGER NOT NULL,
130
-
131
- CONSTRAINT "SupplierTax_pkey" PRIMARY KEY ("supplierId","taxId")
132
- );
133
-
134
- -- CreateTable
135
- CREATE TABLE "OrderItem" (
136
- "orderId" INTEGER NOT NULL,
137
- "itemId" INTEGER NOT NULL,
138
-
139
- CONSTRAINT "OrderItem_pkey" PRIMARY KEY ("orderId","itemId")
140
- );
141
-
142
- -- CreateTable
143
- CREATE TABLE "PreparationItem" (
144
- "preparationId" INTEGER NOT NULL,
145
- "itemId" INTEGER NOT NULL,
146
-
147
- CONSTRAINT "PreparationItem_pkey" PRIMARY KEY ("preparationId","itemId")
148
- );
149
-
150
- -- CreateTable
151
- CREATE TABLE "PurchaseItem" (
152
- "purchaseId" INTEGER NOT NULL,
153
- "itemId" INTEGER NOT NULL,
154
-
155
- CONSTRAINT "PurchaseItem_pkey" PRIMARY KEY ("purchaseId","itemId")
156
- );
157
-
158
- -- CreateTable
159
- CREATE TABLE "ReceptionItem" (
160
- "receptionId" INTEGER NOT NULL,
161
- "itemId" INTEGER NOT NULL,
162
-
163
- CONSTRAINT "ReceptionItem_pkey" PRIMARY KEY ("receptionId","itemId")
164
- );
165
-
166
- -- CreateIndex
167
- CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
168
-
169
- -- AddForeignKey
170
- ALTER TABLE "Order" ADD CONSTRAINT "Order_clientId_fkey" FOREIGN KEY ("clientId") REFERENCES "Client"("id") ON DELETE SET NULL ON UPDATE CASCADE;
171
-
172
- -- AddForeignKey
173
- ALTER TABLE "Preparation" ADD CONSTRAINT "Preparation_orderId_fkey" FOREIGN KEY ("orderId") REFERENCES "Order"("id") ON DELETE SET NULL ON UPDATE CASCADE;
174
-
175
- -- AddForeignKey
176
- ALTER TABLE "Purchase" ADD CONSTRAINT "Purchase_supplierId_fkey" FOREIGN KEY ("supplierId") REFERENCES "Supplier"("id") ON DELETE SET NULL ON UPDATE CASCADE;
177
-
178
- -- AddForeignKey
179
- ALTER TABLE "Reception" ADD CONSTRAINT "Reception_purchaseId_fkey" FOREIGN KEY ("purchaseId") REFERENCES "Purchase"("id") ON DELETE SET NULL ON UPDATE CASCADE;
180
-
181
- -- AddForeignKey
182
- ALTER TABLE "Stock" ADD CONSTRAINT "Stock_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "Item"("id") ON DELETE SET NULL ON UPDATE CASCADE;
183
-
184
- -- AddForeignKey
185
- ALTER TABLE "ClientTax" ADD CONSTRAINT "ClientTax_clientId_fkey" FOREIGN KEY ("clientId") REFERENCES "Client"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
186
-
187
- -- AddForeignKey
188
- ALTER TABLE "ClientTax" ADD CONSTRAINT "ClientTax_taxId_fkey" FOREIGN KEY ("taxId") REFERENCES "Tax"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
189
-
190
- -- AddForeignKey
191
- ALTER TABLE "SupplierTax" ADD CONSTRAINT "SupplierTax_supplierId_fkey" FOREIGN KEY ("supplierId") REFERENCES "Supplier"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
192
-
193
- -- AddForeignKey
194
- ALTER TABLE "SupplierTax" ADD CONSTRAINT "SupplierTax_taxId_fkey" FOREIGN KEY ("taxId") REFERENCES "Tax"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
195
-
196
- -- AddForeignKey
197
- ALTER TABLE "OrderItem" ADD CONSTRAINT "OrderItem_orderId_fkey" FOREIGN KEY ("orderId") REFERENCES "Order"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
198
-
199
- -- AddForeignKey
200
- ALTER TABLE "OrderItem" ADD CONSTRAINT "OrderItem_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "Item"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
201
-
202
- -- AddForeignKey
203
- ALTER TABLE "PreparationItem" ADD CONSTRAINT "PreparationItem_preparationId_fkey" FOREIGN KEY ("preparationId") REFERENCES "Preparation"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
204
-
205
- -- AddForeignKey
206
- ALTER TABLE "PreparationItem" ADD CONSTRAINT "PreparationItem_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "Item"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
207
-
208
- -- AddForeignKey
209
- ALTER TABLE "PurchaseItem" ADD CONSTRAINT "PurchaseItem_purchaseId_fkey" FOREIGN KEY ("purchaseId") REFERENCES "Purchase"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
210
-
211
- -- AddForeignKey
212
- ALTER TABLE "PurchaseItem" ADD CONSTRAINT "PurchaseItem_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "Item"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
213
-
214
- -- AddForeignKey
215
- ALTER TABLE "ReceptionItem" ADD CONSTRAINT "ReceptionItem_receptionId_fkey" FOREIGN KEY ("receptionId") REFERENCES "Reception"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
216
-
217
- -- AddForeignKey
218
- ALTER TABLE "ReceptionItem" ADD CONSTRAINT "ReceptionItem_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "Item"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -1,3 +0,0 @@
1
- # Please do not edit this file manually
2
- # It should be added in your version-control system (e.g., Git)
3
- provider = "postgresql"