-
Notifications
You must be signed in to change notification settings - Fork 170
Expand file tree
/
Copy pathtype.go
More file actions
140 lines (113 loc) · 3.61 KB
/
type.go
File metadata and controls
140 lines (113 loc) · 3.61 KB
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package convoy
import (
"embed"
"strings"
)
const (
AuthUserCtx ContextKey = "authUser"
PageableCtx ContextKey = "pageable"
ProjectCtx ContextKey = "project"
OrganisationCtx ContextKey = "organisation"
)
type ContextKey string
type HttpMethod string
type TaskName string
type QueueName string
type CacheKey string
var Version string
//go:embed VERSION
var F embed.FS
//go:embed sql/*.sql
var MigrationFiles embed.FS
func (t TaskName) SetPrefix(prefix string) TaskName {
var name strings.Builder
delim := "-"
name.WriteString(prefix)
name.WriteString(delim)
name.WriteString(string(t))
return TaskName(name.String())
}
func (c CacheKey) Get(suffix string) CacheKey {
var name strings.Builder
delim := ":"
name.WriteString(string(c))
name.WriteString(delim)
name.WriteString(suffix)
return CacheKey(name.String())
}
func (c CacheKey) String() string {
return string(c)
}
func readVersion(fs embed.FS) ([]byte, error) {
data, err := fs.ReadFile("VERSION")
if err != nil {
return nil, err
}
return data, nil
}
// TODO(subomi): This needs to be refactored for everywhere we depend
// on this code.
func GetVersion() string {
if Version != "" {
return strings.TrimSpace(Version)
}
v := "0.1.0"
f, err := readVersion(F)
if err != nil {
return v
}
v = strings.TrimSpace(string(f))
return v
}
func GetVersionFromFS(fs embed.FS) string {
v := "0.1.0"
f, err := readVersion(fs)
if err != nil {
return v
}
v = strings.TrimSpace(string(f))
return v
}
const (
EventProcessor TaskName = "EventProcessor"
RetryEventProcessor TaskName = "RetryEventProcessor"
CreateEventProcessor TaskName = "CreateEventProcessor"
CreateDynamicEventProcessor TaskName = "CreateDynamicEventProcessor"
CreateBroadcastEventProcessor TaskName = "CreateBroadcastEventProcessor"
MetaEventProcessor TaskName = "MetaEventProcessor"
NotificationProcessor TaskName = "NotificationProcessor"
TokenizeSearch TaskName = "TokenizeSearch"
TokenizeSearchForProject TaskName = "TokenizeProjectSearch"
DailyAnalytics TaskName = "DailyAnalytics"
StreamCliEventsProcessor TaskName = "StreamCliEventsProcessor"
MonitorTwitterSources TaskName = "MonitorTwitterSources"
RetentionPolicies TaskName = "RetentionPolicies"
BackupProjectData TaskName = "BackupProjectData"
EmailProcessor TaskName = "EmailProcessor"
ExpireSecretsProcessor TaskName = "ExpireSecretsProcessor"
DeleteArchivedTasksProcessor TaskName = "DeleteArchivedTasksProcessor"
MatchEventSubscriptionsProcessor TaskName = "MatchEventSubscriptionsProcessor"
BatchRetryProcessor TaskName = "BatchRetryProcessor"
BulkOnboardProcessor TaskName = "BulkOnboardProcessor"
UpdateOrganisationStatus TaskName = "UpdateOrganisationStatus"
RefreshMetricsMaterializedViews TaskName = "RefreshMetricsMaterializedViews"
TokenCacheKey CacheKey = "tokens"
ProjectCacheKey CacheKey = "projects"
)
// queues
const (
EventQueue QueueName = "EventQueue"
CreateEventQueue QueueName = "CreateEventQueue"
MetaEventQueue QueueName = "MetaEventQueue"
RetryEventQueue QueueName = "RetryEventQueue"
StreamQueue QueueName = "StreamQueue"
ScheduleQueue QueueName = "ScheduleQueue"
DefaultQueue QueueName = "DefaultQueue"
EventWorkflowQueue QueueName = "EventWorkflowQueue"
BatchRetryQueue QueueName = "BatchRetryQueue"
)
// Exports dir
const (
DefaultOnPremDir = "/var/convoy/export"
TmpExportDir = "/tmp/convoy/export"
)