feat: add transaction and participation associations
This commit is contained in:
		| @ -26,6 +26,7 @@ import "time" | ||||
|  | ||||
| type Event struct { | ||||
| 	ID int | ||||
|  | ||||
| 	Name            string | ||||
| 	Description     string | ||||
| 	Users           []*User | ||||
| @ -33,6 +34,7 @@ type Event struct { | ||||
| 	TotalAmount     Money | ||||
| 	DefaultCurrency Currency | ||||
| 	CreatedBy       User | ||||
|  | ||||
| 	CreatedAt time.Time | ||||
| 	UpdatedAt time.Time | ||||
| } | ||||
|  | ||||
| @ -31,12 +31,14 @@ type ExpenseDetail struct { | ||||
|  | ||||
| type Expense struct { | ||||
| 	ID int | ||||
|  | ||||
| 	Amount       Money | ||||
| 	Currency     Currency | ||||
| 	PayerIDs     []int | ||||
| 	RecipientIDs []int | ||||
| 	EventID      int | ||||
| 	Detail       ExpenseDetail | ||||
|  | ||||
| 	CreatedAt time.Time | ||||
| 	UpdatedAt time.Time | ||||
| } | ||||
|  | ||||
							
								
								
									
										37
									
								
								internal/howmuch/model/participation.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								internal/howmuch/model/participation.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| // MIT License | ||||
| // | ||||
| // Copyright (c) 2024 vinchent <vinchent@vinchent.xyz> | ||||
| // | ||||
| // 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. | ||||
|  | ||||
| package model | ||||
|  | ||||
| import "time" | ||||
|  | ||||
| // Participation is the association between Users and Events | ||||
| type Participation struct { | ||||
| 	ID int | ||||
|  | ||||
| 	UserID          int | ||||
| 	EventID         int | ||||
| 	InvitedByUserID int | ||||
|  | ||||
| 	CreatedAt time.Time | ||||
| 	UpdatedAt time.Time | ||||
| } | ||||
							
								
								
									
										38
									
								
								internal/howmuch/model/transaction.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								internal/howmuch/model/transaction.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,38 @@ | ||||
| // MIT License | ||||
| // | ||||
| // Copyright (c) 2024 vinchent <vinchent@vinchent.xyz> | ||||
| // | ||||
| // 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. | ||||
|  | ||||
| package model | ||||
|  | ||||
| import "time" | ||||
|  | ||||
| // Transaction is the association between Expenses and Users | ||||
| type Transaction struct { | ||||
| 	ID int | ||||
|  | ||||
| 	ExpenseID Expense | ||||
| 	PayerID   int | ||||
| 	Amount    Money | ||||
| 	Currency  Currency | ||||
|  | ||||
| 	CreatedAt time.Time | ||||
| 	UpdatedAt time.Time | ||||
| } | ||||
| @ -39,10 +39,12 @@ type UserExistDTO struct { | ||||
| // User model | ||||
| type User struct { | ||||
| 	ID int | ||||
|  | ||||
| 	Email     string | ||||
| 	FirstName string | ||||
| 	LastName  string | ||||
| 	Password  string | ||||
|  | ||||
| 	CreatedAt time.Time | ||||
| 	UpdatedAt time.Time | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user