mirror of
https://github.com/n8n-io/n8n.git
synced 2026-05-23 04:45:21 +02:00
56 lines
1.3 KiB
TypeScript
56 lines
1.3 KiB
TypeScript
import type { Project } from '@n8n/db';
|
|
import { generateNanoId, VariablesRepository } from '@n8n/db';
|
|
import { Container } from '@n8n/di';
|
|
import { randomString } from 'n8n-workflow';
|
|
|
|
import { VariablesService } from '@/environments.ee/variables/variables.service.ee';
|
|
|
|
export async function createVariable(key = randomString(5), value = randomString(5)) {
|
|
const result = await Container.get(VariablesRepository).save({
|
|
id: generateNanoId(),
|
|
key,
|
|
value,
|
|
});
|
|
await Container.get(VariablesService).updateCache();
|
|
return result;
|
|
}
|
|
|
|
export async function createProjectVariable(
|
|
key = randomString(5),
|
|
value = randomString(5),
|
|
project: Project,
|
|
) {
|
|
const result = await Container.get(VariablesRepository).save({
|
|
id: generateNanoId(),
|
|
key,
|
|
value,
|
|
project,
|
|
});
|
|
|
|
await Container.get(VariablesService).updateCache();
|
|
return result;
|
|
}
|
|
|
|
export async function getVariableByIdOrFail(id: string) {
|
|
return await Container.get(VariablesRepository).findOneOrFail({
|
|
where: { id },
|
|
relations: ['project'],
|
|
});
|
|
}
|
|
|
|
export async function getVariableByKey(key: string) {
|
|
return await Container.get(VariablesRepository).findOne({
|
|
where: {
|
|
key,
|
|
},
|
|
});
|
|
}
|
|
|
|
export async function getVariableById(id: string) {
|
|
return await Container.get(VariablesRepository).findOne({
|
|
where: {
|
|
id,
|
|
},
|
|
});
|
|
}
|