/
irepo.go
101 lines (99 loc) · 5.35 KB
/
irepo.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package repo
import (
"github.com/wearedevx/keystone/api/internal/emailer"
"github.com/wearedevx/keystone/api/pkg/message"
"github.com/wearedevx/keystone/api/pkg/models"
"gorm.io/gorm"
)
// IRepo The Repo interface
type IRepo interface {
CreateEnvironment(*models.Environment) IRepo
CreateEnvironmentType(*models.EnvironmentType) IRepo
CreateLoginRequest() models.LoginRequest
CreateProjectMember(*models.ProjectMember, *models.Role) IRepo
CreateRole(*models.Role) IRepo
CreateRoleEnvironmentType(*models.RolesEnvironmentType) IRepo
DeleteLoginRequest(string) bool
DeleteAllProjectMembers(project *models.Project) IRepo
DeleteExpiredMessages() IRepo
GetGroupedMessagesWillExpireByUser(groupedMessageUser *map[uint]emailer.GroupedMessagesUser) IRepo
DeleteMessage(messageID uint, userID uint) IRepo
DeleteProject(project *models.Project) IRepo
DeleteProjectsEnvironments(project *models.Project) IRepo
Err() error
ClearErr() IRepo
FindUsers(userIDs []string, users *map[string]models.User, notFounds *[]string) IRepo
GetActivityLogs(projectID string, options models.GetLogsOptions, logs *[]models.ActivityLog) IRepo
GetChildrenRoles(role models.Role, roles *[]models.Role) IRepo
GetDb() *gorm.DB
GetEnvironment(*models.Environment) IRepo
GetEnvironmentPublicKeys(envID string, publicKeys *models.PublicKeys) IRepo
GetEnvironmentType(*models.EnvironmentType) IRepo
GetEnvironmentsByProjectUUID(projectUUID string, foundEnvironments *[]models.Environment) IRepo
GetInvitableRoles(models.Role, *[]models.Role) IRepo
GetLoginRequest(string) (models.LoginRequest, bool)
GetMessage(message *models.Message) IRepo
GetMessagesForUserOnEnvironment(device models.Device, environment models.Environment, message *models.Message) IRepo
GetOrCreateEnvironment(*models.Environment) IRepo
GetOrCreateEnvironmentType(*models.EnvironmentType) IRepo
GetOrCreateProject(*models.Project) IRepo
GetOrCreateProjectMember(*models.ProjectMember, string) IRepo
GetOrCreateRole(*models.Role) IRepo
GetOrCreateRoleEnvType(*models.RolesEnvironmentType) IRepo
GetOrCreateUser(*models.User) IRepo
GetProject(*models.Project) IRepo
GetProjectByUUID(string, *models.Project) IRepo
GetProjectMember(*models.ProjectMember) IRepo
GetProjectsOrganization(string, *models.Organization) IRepo
OrganizationCountMembers(*models.Organization, *int64) IRepo
GetRole(*models.Role) IRepo
GetRoles(*[]models.Role) IRepo
GetRolesEnvironmentType(environmentType *models.RolesEnvironmentType) IRepo
GetRolesMemberCanInvite(projectMember models.ProjectMember, roles *[]models.Role) IRepo
GetUser(*models.User) IRepo
GetUserByEmail(string, *[]models.User) IRepo
IsMemberOfProject(*models.Project, *models.ProjectMember) IRepo
ListProjectMembers(userIDList []string, projectMember *[]models.ProjectMember) IRepo
MessageService() message.MessageService
ProjectAddMembers(models.Project, []models.MemberRole, models.User) IRepo
UsersInMemberRoles(mers []models.MemberRole) (map[string]models.User, []string)
SetNewlyCreatedDevice(flag bool, deviceID uint, userID uint) IRepo
ProjectGetAdmins(project *models.Project, members *[]models.ProjectMember) IRepo
ProjectIsMemberAdmin(project *models.Project, member *models.ProjectMember) bool
ProjectGetMembers(*models.Project, *[]models.ProjectMember) IRepo
ProjectLoadUsers(*models.Project) IRepo
ProjectRemoveMembers(models.Project, []string) IRepo
ProjectSetRoleForUser(models.Project, models.User, models.Role) IRepo
CheckMembersAreInProject(models.Project, []string) ([]string, error)
RemoveOldMessageForRecipient(userID uint, environmentID string) IRepo
SaveActivityLog(al *models.ActivityLog) IRepo
SetLoginRequestCode(string, string) models.LoginRequest
SetNewVersionID(environment *models.Environment) error
WriteMessage(user models.User, message models.Message) IRepo
GetDevices(uint, *[]models.Device) IRepo
GetNewlyCreatedDevices(*[]models.Device) IRepo
GetDevice(device *models.Device) IRepo
GetDeviceByUserID(userID uint, device *models.Device) IRepo
UpdateDeviceLastUsedAt(deviceUID string) IRepo
RevokeDevice(userID uint, deviceUID string) IRepo
GetAdminsFromUserProjects(userID uint, adminProjectsMap *map[string][]string) IRepo
CreateOrganization(orga *models.Organization) IRepo
UpdateOrganization(orga *models.Organization) IRepo
OrganizationSetCustomer(organization *models.Organization, customer string) IRepo
OrganizationSetSubscription(organization *models.Organization, subscription string) IRepo
GetOrganization(orga *models.Organization) IRepo
GetOrganizations(userID uint, result *[]models.Organization) IRepo
GetOwnedOrganizations(userID uint, result *[]models.Organization) IRepo
GetOwnedOrganizationByName(userID uint, name string, orgas *[]models.Organization) IRepo
GetOrganizationByName(userID uint, name string, orga *[]models.Organization) IRepo
GetOrganizationProjects(*models.Organization, *[]models.Project) IRepo
GetOrganizationMembers(orgaID uint, result *[]models.ProjectMember) IRepo
IsUserOwnerOfOrga(*models.User, *models.Organization) (bool, error)
IsProjectOrganizationPaid(string) (bool, error)
CreateCheckoutSession(*models.CheckoutSession) IRepo
GetCheckoutSession(string, *models.CheckoutSession) IRepo
UpdateCheckoutSession(*models.CheckoutSession) IRepo
DeleteCheckoutSession(*models.CheckoutSession) IRepo
OrganizationSetPaid(organization *models.Organization, paid bool) IRepo
GetUserProjects(userID uint, projects *[]models.Project) IRepo
}