1// Copyright 2023 The Gitea Authors. All rights reserved.
2// SPDX-License-Identifier: MIT
3
4package queue
5
6import (
7 "forgejo.org/modules/setting"
8)
9
10type BaseConfig struct {
11 ManagedName string
12 DataFullDir string // the caller must prepare an absolute path
13
14 ConnStr string
15 Length int
16
17 QueueFullName, SetFullName string
18}
19
20func toBaseConfig(managedName string, queueSetting setting.QueueSettings) *BaseConfig {
21 baseConfig := &BaseConfig{
22 ManagedName: managedName,
23 DataFullDir: queueSetting.Datadir,
24
25 ConnStr: queueSetting.ConnStr,
26 Length: queueSetting.Length,
27 }
28
29 // queue name and set name
30 baseConfig.QueueFullName = managedName + queueSetting.QueueName
31 baseConfig.SetFullName = baseConfig.QueueFullName + queueSetting.SetName
32 if baseConfig.SetFullName == baseConfig.QueueFullName {
33 baseConfig.SetFullName += "_unique"
34 }
35 return baseConfig
36}