This commit is contained in:
Alex Shevchuk
2025-08-18 17:12:04 +03:00
commit d84487d238
157 changed files with 160686 additions and 0 deletions

View File

@@ -0,0 +1,87 @@
package requestmodel
import (
amqp "github.com/rabbitmq/amqp091-go"
)
// <----------- Header Argument ---------->
type HeaderArg string
const (
Command HeaderArg = "command"
)
func (h HeaderArg) String() string {
return string(h)
}
// <----------- Header Value ----------->
type HeaderValue interface {
String() string
}
// <----------- Command ----------->
type CommandType string
var _ HeaderValue = (*CommandType)(nil)
const (
GetCompanyDataAgent CommandType = "GetCompanyData"
GetCompaniesUidAgent CommandType = "GetCompaniesUid"
SetCompanyDataAgent CommandType = "SetCompanyData"
GetVacancyListAgent CommandType = "GetVacancyList"
GetSubmissionListAgent CommandType = "GetSubmissionList"
DeleteSubmissionAgent CommandType = "DeleteSubmission"
GetProfileDataAgent CommandType = "GetProfileData"
SetProfileDataAgent CommandType = "SetProfileData"
GetBalanceAgent CommandType = "GetBalance"
GetTransactionsAgent CommandType = "GetTransactions"
CreateTransactionAgent CommandType = "CreateTransaction"
GetBankAccountsAgent CommandType = "GetBankAccounts"
CreateBankAccountAgent CommandType = "CreateBankAccount"
EditBankAccountAgent CommandType = "EditBankAccount"
DeleteBankAccountAgent CommandType = "DeleteBankAccount"
GetCompanyDataDistributor CommandType = "GetCompanyData"
GetCompaniesUidDistributor CommandType = "GetCompaniesUid"
SetCompanyDataDistributor CommandType = "SetCompanyData"
GetVacancyListDistributor CommandType = "GetVacancyList"
CreateVacancyDistributor CommandType = "CreateVacancy"
EditVacancyDistributor CommandType = "EditVacancy"
DeleteVacancyDistributor CommandType = "DeleteVacancy"
SendVacancyToModerationDistributor CommandType = "SendVacancyToModeration"
GetSubmissionsForVacancyDistributor CommandType = "GetSubmissionsForVacancy"
SetSubmissionStatusDistributor CommandType = "SetSubmissionStatus"
GetProfileDataDistributor CommandType = "GetProfileData"
SetProfileDataDistributor CommandType = "SetProfileData"
GetBalanceDistributor CommandType = "GetBalance"
GetCompanyBalanceDistributor CommandType = "GetCompanyBalance"
GetTransactionsDistributor CommandType = "GetTransactions"
GetCompanyTransactionsDistributor CommandType = "GetCompanyTransactions"
CreateTransactionDistributor CommandType = "CreateTransaction"
GetBankAccountsDistributor CommandType = "GetBankAccounts"
GetCompanyBankAccountsDistributor CommandType = "GetCompanyBankAccounts"
CreateBankAccountDistributor CommandType = "CreateBankAccount"
EditBankAccountDistributor CommandType = "EditBankAccount"
DeleteBankAccountDistributor CommandType = "DeleteBankAccount"
)
func (c CommandType) String() string {
return string(c)
}
// <----------- Header ----------->
type Header map[HeaderArg]HeaderValue
func (h Header) ToTable() amqp.Table {
table := amqp.Table{}
for k, v := range h {
table[k.String()] = v.String()
}
return table
}
type CompanyId struct {
CompanyId string `json:"company_id"`
}