@things-factory/shell 9.0.20 → 9.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist-server/index.d.ts +1 -0
  2. package/dist-server/index.js +1 -0
  3. package/dist-server/index.js.map +1 -1
  4. package/dist-server/service/attribute-set/attribute-set-item-type.d.ts +2 -1
  5. package/dist-server/service/attribute-set/attribute-set-item-type.js +1 -0
  6. package/dist-server/service/attribute-set/attribute-set-item-type.js.map +1 -1
  7. package/dist-server/service/domain/domain.d.ts +2 -0
  8. package/dist-server/service/domain/domain.js +6 -0
  9. package/dist-server/service/domain/domain.js.map +1 -1
  10. package/dist-server/service/env-var/env-var-mutation.d.ts +9 -0
  11. package/dist-server/service/env-var/env-var-mutation.js +129 -0
  12. package/dist-server/service/env-var/env-var-mutation.js.map +1 -0
  13. package/dist-server/service/env-var/env-var-query.d.ts +9 -0
  14. package/dist-server/service/env-var/env-var-query.js +64 -0
  15. package/dist-server/service/env-var/env-var-query.js.map +1 -0
  16. package/dist-server/service/env-var/env-var-type.d.ts +19 -0
  17. package/dist-server/service/env-var/env-var-type.js +76 -0
  18. package/dist-server/service/env-var/env-var-type.js.map +1 -0
  19. package/dist-server/service/env-var/env-var.d.ts +12 -0
  20. package/dist-server/service/env-var/env-var.js +72 -0
  21. package/dist-server/service/env-var/env-var.js.map +1 -0
  22. package/dist-server/service/env-var/index.d.ts +9 -0
  23. package/dist-server/service/env-var/index.js +14 -0
  24. package/dist-server/service/env-var/index.js.map +1 -0
  25. package/dist-server/service/index.d.ts +3 -2
  26. package/dist-server/service/index.js +6 -2
  27. package/dist-server/service/index.js.map +1 -1
  28. package/dist-server/tsconfig.tsbuildinfo +1 -1
  29. package/dist-server/typeorm/encrypt-json-transform.d.ts +7 -0
  30. package/dist-server/typeorm/encrypt-json-transform.js +95 -0
  31. package/dist-server/typeorm/encrypt-json-transform.js.map +1 -0
  32. package/package.json +2 -2
  33. package/translations/en.json +1 -0
  34. package/translations/ja.json +1 -0
  35. package/translations/ko.json +1 -0
  36. package/translations/ms.json +1 -0
  37. package/translations/zh.json +1 -0
@@ -8,5 +8,6 @@ export * from './middlewares/index.js';
8
8
  export * from './graphql-local-client.js';
9
9
  export * from './service/index.js';
10
10
  export * from './typeorm/encrypt-transform.js';
11
+ export * from './typeorm/encrypt-json-transform.js';
11
12
  export * from './typeorm/json5-transform.js';
12
13
  export * from './typeorm/round-transform.js';
@@ -11,6 +11,7 @@ tslib_1.__exportStar(require("./middlewares/index.js"), exports);
11
11
  tslib_1.__exportStar(require("./graphql-local-client.js"), exports);
12
12
  tslib_1.__exportStar(require("./service/index.js"), exports);
13
13
  tslib_1.__exportStar(require("./typeorm/encrypt-transform.js"), exports);
14
+ tslib_1.__exportStar(require("./typeorm/encrypt-json-transform.js"), exports);
14
15
  tslib_1.__exportStar(require("./typeorm/json5-transform.js"), exports);
15
16
  tslib_1.__exportStar(require("./typeorm/round-transform.js"), exports);
16
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,gEAAqC;AACrC,4EAAiD;AACjD,qEAA0C;AAC1C,2DAAgC;AAChC,sDAA2B;AAC3B,oEAAyC;AACzC,iEAAsC;AACtC,oEAAyC;AACzC,6DAAkC;AAElC,yEAA8C;AAC9C,uEAA4C;AAC5C,uEAA4C","sourcesContent":["export * from './migrations/index.js'\nexport * from './initializers/naming-strategy.js'\nexport * from './initializers/database.js'\nexport * from './utils/index.js'\nexport * from './pubsub.js'\nexport * from './pubsub-log-transport.js'\nexport * from './middlewares/index.js'\nexport * from './graphql-local-client.js'\nexport * from './service/index.js'\n\nexport * from './typeorm/encrypt-transform.js'\nexport * from './typeorm/json5-transform.js'\nexport * from './typeorm/round-transform.js'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,gEAAqC;AACrC,4EAAiD;AACjD,qEAA0C;AAC1C,2DAAgC;AAChC,sDAA2B;AAC3B,oEAAyC;AACzC,iEAAsC;AACtC,oEAAyC;AACzC,6DAAkC;AAElC,yEAA8C;AAC9C,8EAAmD;AACnD,uEAA4C;AAC5C,uEAA4C","sourcesContent":["export * from './migrations/index.js'\nexport * from './initializers/naming-strategy.js'\nexport * from './initializers/database.js'\nexport * from './utils/index.js'\nexport * from './pubsub.js'\nexport * from './pubsub-log-transport.js'\nexport * from './middlewares/index.js'\nexport * from './graphql-local-client.js'\nexport * from './service/index.js'\n\nexport * from './typeorm/encrypt-transform.js'\nexport * from './typeorm/encrypt-json-transform.js'\nexport * from './typeorm/json5-transform.js'\nexport * from './typeorm/round-transform.js'\n"]}
@@ -5,7 +5,8 @@ export declare enum AttributeSetItemType {
5
5
  select = "select",
6
6
  date = "date",
7
7
  datetime = "datetime",
8
- file = "file"
8
+ file = "file",
9
+ secret = "secret"
9
10
  }
10
11
  export declare class AttributeSetItem {
11
12
  name: string;
@@ -13,6 +13,7 @@ var AttributeSetItemType;
13
13
  AttributeSetItemType["date"] = "date";
14
14
  AttributeSetItemType["datetime"] = "datetime";
15
15
  AttributeSetItemType["file"] = "file";
16
+ AttributeSetItemType["secret"] = "secret";
16
17
  })(AttributeSetItemType || (exports.AttributeSetItemType = AttributeSetItemType = {}));
17
18
  (0, type_graphql_1.registerEnumType)(AttributeSetItemType, {
18
19
  name: 'AttributeSetItemType',
@@ -1 +1 @@
1
- {"version":3,"file":"attribute-set-item-type.js","sourceRoot":"","sources":["../../../server/service/attribute-set/attribute-set-item-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAkF;AAClF,uEAA+D;AAE/D,IAAY,oBAQX;AARD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,qCAAa,CAAA;IACb,2CAAmB,CAAA;IACnB,yCAAiB,CAAA;IACjB,qCAAa,CAAA;IACb,6CAAqB,CAAA;IACrB,qCAAa,CAAA;AACf,CAAC,EARW,oBAAoB,oCAApB,oBAAoB,QAQ/B;AAED,IAAA,+BAAgB,EAAC,oBAAoB,EAAE;IACrC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,0HAA0H;CAC7H,CAAC,CAAA;AAKK,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CA2B5B,CAAA;AA3BY,4CAAgB;AAE3B;IADC,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;;8CAC9C;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;;qDAC3D;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;;6CACxF;AAMZ;IAJC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE;QACnC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,+DAA+D;KAC7E,CAAC;;8CACyB;AAM3B;IAJC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,+BAAY,EAAE;QAC3B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wDAAwD;KACtE,CAAC;;iDACiC;AAGnC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;gDAChE;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;gDAChE;2BA1BL,gBAAgB;IAH5B,IAAA,yBAAU,EAAC;QACV,WAAW,EAAE,mGAAmG;KACjH,CAAC;GACW,gBAAgB,CA2B5B;AAGM,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CA2BjC,CAAA;AA3BY,sDAAqB;AAEhC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;;mDAC7D;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;;0DAC3D;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;;kDACxF;AAMZ;IAJC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE;QACnC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,+DAA+D;KAC7E,CAAC;;mDACyB;AAM3B;IAJC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,+BAAY,EAAE;QAC3B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wDAAwD;KACtE,CAAC;;sDACiC;AAGnC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;qDAChE;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;qDAChE;gCA1BL,qBAAqB;IADjC,IAAA,wBAAS,EAAC,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAAC;GAC1E,qBAAqB,CA2BjC","sourcesContent":["import { Field, InputType, Int, ObjectType, registerEnumType } from 'type-graphql'\nimport { ScalarObject } from '../common-types/scalar-object.js'\n\nexport enum AttributeSetItemType {\n number = 'number',\n text = 'text',\n boolean = 'boolean',\n select = 'select',\n date = 'date',\n datetime = 'datetime',\n file = 'file'\n}\n\nregisterEnumType(AttributeSetItemType, {\n name: 'AttributeSetItemType',\n description:\n 'Enumeration of possible types for an attribute set item, such as number, text, boolean, select, date, datetime, or file.'\n})\n\n@ObjectType({\n description: 'Represents an item (attribute) within an AttributeSet, including its type, options, and metadata.'\n})\nexport class AttributeSetItem {\n @Field({ description: 'The name of the attribute item.' })\n name: string\n\n @Field({ nullable: true, description: 'A description of the attribute item.' })\n description?: string\n\n @Field({ nullable: true, description: 'A tag for categorizing or identifying the attribute item.' })\n tag?: string\n\n @Field(type => AttributeSetItemType, {\n nullable: true,\n description: 'The type of the attribute item (e.g., number, text, boolean).'\n })\n type?: AttributeSetItemType\n\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Options or additional settings for the attribute item.'\n })\n options?: { [option: string]: any }\n\n @Field({ nullable: true, description: 'Whether the attribute item is active.' })\n active?: boolean\n\n @Field({ nullable: true, description: 'Whether the attribute item is hidden.' })\n hidden?: boolean\n}\n\n@InputType({ description: 'Input type for creating or updating an AttributeSetItem.' })\nexport class AttributeSetItemPatch {\n @Field({ nullable: true, description: 'The name of the attribute item.' })\n name?: string\n\n @Field({ nullable: true, description: 'A description of the attribute item.' })\n description?: string\n\n @Field({ nullable: true, description: 'A tag for categorizing or identifying the attribute item.' })\n tag?: string\n\n @Field(type => AttributeSetItemType, {\n nullable: true,\n description: 'The type of the attribute item (e.g., number, text, boolean).'\n })\n type?: AttributeSetItemType\n\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Options or additional settings for the attribute item.'\n })\n options?: { [option: string]: any }\n\n @Field({ nullable: true, description: 'Whether the attribute item is active.' })\n active?: boolean\n\n @Field({ nullable: true, description: 'Whether the attribute item is hidden.' })\n hidden?: boolean\n}\n"]}
1
+ {"version":3,"file":"attribute-set-item-type.js","sourceRoot":"","sources":["../../../server/service/attribute-set/attribute-set-item-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAkF;AAClF,uEAA+D;AAE/D,IAAY,oBASX;AATD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,qCAAa,CAAA;IACb,2CAAmB,CAAA;IACnB,yCAAiB,CAAA;IACjB,qCAAa,CAAA;IACb,6CAAqB,CAAA;IACrB,qCAAa,CAAA;IACb,yCAAiB,CAAA;AACnB,CAAC,EATW,oBAAoB,oCAApB,oBAAoB,QAS/B;AAED,IAAA,+BAAgB,EAAC,oBAAoB,EAAE;IACrC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,0HAA0H;CAC7H,CAAC,CAAA;AAKK,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CA2B5B,CAAA;AA3BY,4CAAgB;AAE3B;IADC,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;;8CAC9C;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;;qDAC3D;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;;6CACxF;AAMZ;IAJC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE;QACnC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,+DAA+D;KAC7E,CAAC;;8CACyB;AAM3B;IAJC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,+BAAY,EAAE;QAC3B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wDAAwD;KACtE,CAAC;;iDACiC;AAGnC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;gDAChE;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;gDAChE;2BA1BL,gBAAgB;IAH5B,IAAA,yBAAU,EAAC;QACV,WAAW,EAAE,mGAAmG;KACjH,CAAC;GACW,gBAAgB,CA2B5B;AAGM,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CA2BjC,CAAA;AA3BY,sDAAqB;AAEhC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;;mDAC7D;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;;0DAC3D;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;;kDACxF;AAMZ;IAJC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE;QACnC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,+DAA+D;KAC7E,CAAC;;mDACyB;AAM3B;IAJC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,+BAAY,EAAE;QAC3B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wDAAwD;KACtE,CAAC;;sDACiC;AAGnC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;qDAChE;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;qDAChE;gCA1BL,qBAAqB;IADjC,IAAA,wBAAS,EAAC,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAAC;GAC1E,qBAAqB,CA2BjC","sourcesContent":["import { Field, InputType, Int, ObjectType, registerEnumType } from 'type-graphql'\nimport { ScalarObject } from '../common-types/scalar-object.js'\n\nexport enum AttributeSetItemType {\n number = 'number',\n text = 'text',\n boolean = 'boolean',\n select = 'select',\n date = 'date',\n datetime = 'datetime',\n file = 'file',\n secret = 'secret'\n}\n\nregisterEnumType(AttributeSetItemType, {\n name: 'AttributeSetItemType',\n description:\n 'Enumeration of possible types for an attribute set item, such as number, text, boolean, select, date, datetime, or file.'\n})\n\n@ObjectType({\n description: 'Represents an item (attribute) within an AttributeSet, including its type, options, and metadata.'\n})\nexport class AttributeSetItem {\n @Field({ description: 'The name of the attribute item.' })\n name: string\n\n @Field({ nullable: true, description: 'A description of the attribute item.' })\n description?: string\n\n @Field({ nullable: true, description: 'A tag for categorizing or identifying the attribute item.' })\n tag?: string\n\n @Field(type => AttributeSetItemType, {\n nullable: true,\n description: 'The type of the attribute item (e.g., number, text, boolean).'\n })\n type?: AttributeSetItemType\n\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Options or additional settings for the attribute item.'\n })\n options?: { [option: string]: any }\n\n @Field({ nullable: true, description: 'Whether the attribute item is active.' })\n active?: boolean\n\n @Field({ nullable: true, description: 'Whether the attribute item is hidden.' })\n hidden?: boolean\n}\n\n@InputType({ description: 'Input type for creating or updating an AttributeSetItem.' })\nexport class AttributeSetItemPatch {\n @Field({ nullable: true, description: 'The name of the attribute item.' })\n name?: string\n\n @Field({ nullable: true, description: 'A description of the attribute item.' })\n description?: string\n\n @Field({ nullable: true, description: 'A tag for categorizing or identifying the attribute item.' })\n tag?: string\n\n @Field(type => AttributeSetItemType, {\n nullable: true,\n description: 'The type of the attribute item (e.g., number, text, boolean).'\n })\n type?: AttributeSetItemType\n\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Options or additional settings for the attribute item.'\n })\n options?: { [option: string]: any }\n\n @Field({ nullable: true, description: 'Whether the attribute item is active.' })\n active?: boolean\n\n @Field({ nullable: true, description: 'Whether the attribute item is hidden.' })\n hidden?: boolean\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import { EnvVar } from '../env-var/env-var.js';
1
2
  export type IPList = {
2
3
  whitelist?: string[];
3
4
  blacklist?: string[];
@@ -18,6 +19,7 @@ export declare class Domain {
18
19
  parent: Domain;
19
20
  parentId?: string;
20
21
  children: Domain[];
22
+ envVars: EnvVar[];
21
23
  brandName: string;
22
24
  brandImage: string;
23
25
  contentImage: string;
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const typeorm_1 = require("typeorm");
6
6
  const type_graphql_1 = require("type-graphql");
7
7
  const scalar_object_js_1 = require("../common-types/scalar-object.js");
8
+ const env_var_js_1 = require("../env-var/env-var.js");
8
9
  let Domain = class Domain {
9
10
  };
10
11
  exports.Domain = Domain;
@@ -61,6 +62,11 @@ tslib_1.__decorate([
61
62
  (0, type_graphql_1.Field)(type => Domain, { nullable: true, description: 'The child domains, if any, under this domain.' }),
62
63
  tslib_1.__metadata("design:type", Array)
63
64
  ], Domain.prototype, "children", void 0);
65
+ tslib_1.__decorate([
66
+ (0, typeorm_1.OneToMany)(type => env_var_js_1.EnvVar, envVar => envVar.domain),
67
+ (0, type_graphql_1.Field)(type => [env_var_js_1.EnvVar], { nullable: true, description: 'The environment variables associated with the domain.' }),
68
+ tslib_1.__metadata("design:type", Array)
69
+ ], Domain.prototype, "envVars", void 0);
64
70
  tslib_1.__decorate([
65
71
  (0, type_graphql_1.Field)({ nullable: true, description: 'The brand name associated with the domain, if any.' }),
66
72
  (0, typeorm_1.Column)({ nullable: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../server/service/domain/domain.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Column,\n CreateDateColumn,\n ManyToOne,\n OneToMany,\n RelationId,\n Entity,\n Index,\n UpdateDateColumn,\n DeleteDateColumn,\n PrimaryGeneratedColumn\n} from 'typeorm'\nimport { ObjectType, Directive, Field, ID } from 'type-graphql'\nimport { ScalarObject } from '../common-types/scalar-object.js'\n\nexport type IPList = {\n whitelist?: string[]\n blacklist?: string[]\n protectedlist?: string[]\n privileges?: {\n category: string\n privilege: string\n }[]\n}\n\n@Entity()\n@Index('ix_domain_0', (domain: Domain) => [domain.subdomain, domain.deletedAt], {\n unique: true,\n where: '\"deleted_at\" IS NULL'\n})\n@ObjectType({\n description:\n 'Represents a domain entity, which is a logical grouping of users, roles, and resources within the system.'\n})\nexport class Domain {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { description: 'The unique identifier of the domain.' })\n readonly id: string\n\n @Field({ description: 'The name of the domain.' })\n @Column({ unique: true })\n name: string\n\n @Field({ nullable: true, description: 'A description of the domain.' })\n @Column({ nullable: true })\n description: string\n\n @Field({ nullable: true, description: 'The external type of the domain, if applicable.' })\n @Column({ nullable: true })\n extType: string\n\n @Field({ nullable: true, description: 'The timezone of the domain, if applicable.' })\n @Column({ nullable: true })\n timezone: string\n\n @Directive('@deprecated(reason: \"Use `parent`\")')\n @Field({\n nullable: true,\n description: 'A flag indicating if the domain is a system domain. Deprecated, use `parent` instead.'\n })\n @Column({ default: false })\n systemFlag: boolean\n\n @Field({ nullable: true, description: 'The subdomain of the domain, if applicable.' })\n @Column({ nullable: true })\n subdomain: string\n\n @Field({ nullable: true, description: 'The parent domain, if this domain is a subdomain.' })\n @ManyToOne(type => Domain, { nullable: true })\n parent: Domain\n\n @RelationId((domain: Domain) => domain.parent)\n parentId?: string\n\n @OneToMany(type => Domain, domain => domain.parent)\n @Field(type => Domain, { nullable: true, description: 'The child domains, if any, under this domain.' })\n children: Domain[]\n\n @Field({ nullable: true, description: 'The brand name associated with the domain, if any.' })\n @Column({ nullable: true })\n brandName: string\n\n @Field({ nullable: true, description: 'The brand image URL associated with the domain, if any.' })\n @Column({ nullable: true })\n brandImage: string\n\n @Field({ nullable: true, description: 'The content image URL associated with the domain, if any.' })\n @Column({ nullable: true })\n contentImage: string\n\n @Field({ nullable: true, description: 'The owner of the domain, if applicable.' })\n @Column({ nullable: true })\n owner: string\n\n @Field({ nullable: true, description: 'The theme associated with the domain, if any.' })\n @Column({ nullable: true })\n theme: string\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'A list of IPs and their associated access levels for the domain.'\n })\n iplist?: IPList\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true, description: 'Additional attributes associated with the domain.' })\n attributes?: any\n\n @Field({ nullable: true, description: 'The date and time when the domain was created.' })\n @CreateDateColumn()\n createdAt: Date\n\n @Field({ nullable: true, description: 'The date and time when the domain was last updated.' })\n @UpdateDateColumn()\n updatedAt: Date\n\n @DeleteDateColumn()\n @Field({ nullable: true, description: 'The date and time when the domain was deleted, if applicable.' })\n deletedAt?: Date\n}\n"]}
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../server/service/domain/domain.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Column,\n CreateDateColumn,\n ManyToOne,\n OneToMany,\n RelationId,\n Entity,\n Index,\n UpdateDateColumn,\n DeleteDateColumn,\n PrimaryGeneratedColumn\n} from 'typeorm'\nimport { ObjectType, Directive, Field, ID } from 'type-graphql'\nimport { ScalarObject } from '../common-types/scalar-object.js'\nimport { EnvVar } from '../env-var/env-var.js'\n// import { config } from '@things-factory/env'\n// import { encryptJsonTransformer } from '../../typeorm/encrypt-json-transform.js'\n\n// const ORMCONFIG = config.get('ormconfig', {})\n// const DATABASE_TYPE = ORMCONFIG.type\n\nexport type IPList = {\n whitelist?: string[]\n blacklist?: string[]\n protectedlist?: string[]\n privileges?: {\n category: string\n privilege: string\n }[]\n}\n\n@Entity()\n@Index('ix_domain_0', (domain: Domain) => [domain.subdomain, domain.deletedAt], {\n unique: true,\n where: '\"deleted_at\" IS NULL'\n})\n@ObjectType({\n description:\n 'Represents a domain entity, which is a logical grouping of users, roles, and resources within the system.'\n})\nexport class Domain {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { description: 'The unique identifier of the domain.' })\n readonly id: string\n\n @Field({ description: 'The name of the domain.' })\n @Column({ unique: true })\n name: string\n\n @Field({ nullable: true, description: 'A description of the domain.' })\n @Column({ nullable: true })\n description: string\n\n @Field({ nullable: true, description: 'The external type of the domain, if applicable.' })\n @Column({ nullable: true })\n extType: string\n\n @Field({ nullable: true, description: 'The timezone of the domain, if applicable.' })\n @Column({ nullable: true })\n timezone: string\n\n @Directive('@deprecated(reason: \"Use `parent`\")')\n @Field({\n nullable: true,\n description: 'A flag indicating if the domain is a system domain. Deprecated, use `parent` instead.'\n })\n @Column({ default: false })\n systemFlag: boolean\n\n @Field({ nullable: true, description: 'The subdomain of the domain, if applicable.' })\n @Column({ nullable: true })\n subdomain: string\n\n @Field({ nullable: true, description: 'The parent domain, if this domain is a subdomain.' })\n @ManyToOne(type => Domain, { nullable: true })\n parent: Domain\n\n @RelationId((domain: Domain) => domain.parent)\n parentId?: string\n\n @OneToMany(type => Domain, domain => domain.parent)\n @Field(type => Domain, { nullable: true, description: 'The child domains, if any, under this domain.' })\n children: Domain[]\n\n @OneToMany(type => EnvVar, envVar => envVar.domain)\n @Field(type => [EnvVar], { nullable: true, description: 'The environment variables associated with the domain.' })\n envVars: EnvVar[]\n\n @Field({ nullable: true, description: 'The brand name associated with the domain, if any.' })\n @Column({ nullable: true })\n brandName: string\n\n @Field({ nullable: true, description: 'The brand image URL associated with the domain, if any.' })\n @Column({ nullable: true })\n brandImage: string\n\n @Field({ nullable: true, description: 'The content image URL associated with the domain, if any.' })\n @Column({ nullable: true })\n contentImage: string\n\n @Field({ nullable: true, description: 'The owner of the domain, if applicable.' })\n @Column({ nullable: true })\n owner: string\n\n @Field({ nullable: true, description: 'The theme associated with the domain, if any.' })\n @Column({ nullable: true })\n theme: string\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'A list of IPs and their associated access levels for the domain.'\n })\n iplist?: IPList\n\n // TODO: 암호화 처리가 필요하면, 이렇게 설정을 변경하라.\n // @Column({\n // type:\n // DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n // ? 'longtext'\n // : DATABASE_TYPE == 'oracle'\n // ? 'clob'\n // : DATABASE_TYPE == 'mssql'\n // ? 'nvarchar'\n // : 'text', // PostgreSQL, SQLite\n // length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined,\n // transformer: encryptJsonTransformer\n // })\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true, description: 'Additional attributes associated with the domain.' })\n attributes?: any\n\n @Field({ nullable: true, description: 'The date and time when the domain was created.' })\n @CreateDateColumn()\n createdAt: Date\n\n @Field({ nullable: true, description: 'The date and time when the domain was last updated.' })\n @UpdateDateColumn()\n updatedAt: Date\n\n @DeleteDateColumn()\n @Field({ nullable: true, description: 'The date and time when the domain was deleted, if applicable.' })\n deletedAt?: Date\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import { EnvVar } from './env-var';
2
+ import { NewEnvVar, EnvVarPatch } from './env-var-type';
3
+ export declare class EnvVarMutation {
4
+ createEnvVar(envVar: NewEnvVar, context: any): Promise<EnvVar>;
5
+ updateEnvVar(id: string, envVar: EnvVarPatch, context: any): Promise<EnvVar>;
6
+ updateMultipleEnvVars(patches: EnvVarPatch[], context: any): Promise<EnvVar[]>;
7
+ deleteEnvVar(id: string, context: any): Promise<boolean>;
8
+ deleteEnvVars(ids: string[], context: any): Promise<boolean>;
9
+ }
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnvVarMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const database_js_1 = require("../../initializers/database.js");
7
+ const typeorm_1 = require("typeorm");
8
+ const env_var_1 = require("./env-var");
9
+ const env_var_type_1 = require("./env-var-type");
10
+ let EnvVarMutation = class EnvVarMutation {
11
+ async createEnvVar(envVar, context) {
12
+ const { domain, user, tx } = context.state;
13
+ const repository = (0, database_js_1.getRepository)(env_var_1.EnvVar, tx);
14
+ return await repository.save({
15
+ ...envVar,
16
+ domain
17
+ });
18
+ }
19
+ async updateEnvVar(id, envVar, context) {
20
+ const { domain, user, tx } = context.state;
21
+ const repository = (0, database_js_1.getRepository)(env_var_1.EnvVar, tx);
22
+ const existingEnvVar = await repository.findOne({
23
+ where: { id, domain: { id: domain.id } }
24
+ });
25
+ if (!existingEnvVar) {
26
+ throw new Error('Environment variable not found');
27
+ }
28
+ return await repository.save(existingEnvVar);
29
+ }
30
+ async updateMultipleEnvVars(patches, context) {
31
+ const { domain, user, tx } = context.state;
32
+ let results = [];
33
+ const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
34
+ const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
35
+ const envVarRepo = tx.getRepository(env_var_1.EnvVar);
36
+ if (_createRecords.length > 0) {
37
+ for (let i = 0; i < _createRecords.length; i++) {
38
+ const newRecord = _createRecords[i];
39
+ const result = await envVarRepo.save({
40
+ ...newRecord,
41
+ domain
42
+ });
43
+ results.push({ ...result, cuFlag: '+' });
44
+ }
45
+ }
46
+ if (_updateRecords.length > 0) {
47
+ for (let i = 0; i < _updateRecords.length; i++) {
48
+ const updateRecord = _updateRecords[i];
49
+ const envVar = await envVarRepo.findOneBy({ id: updateRecord.id });
50
+ const result = await envVarRepo.save({
51
+ ...envVar,
52
+ ...updateRecord
53
+ });
54
+ results.push({ ...result, cuFlag: 'M' });
55
+ }
56
+ }
57
+ return results;
58
+ }
59
+ async deleteEnvVar(id, context) {
60
+ const { domain, tx } = context.state;
61
+ const repository = (0, database_js_1.getRepository)(env_var_1.EnvVar, tx);
62
+ const envVar = await repository.delete({ domain: { id: domain.id }, id });
63
+ return true;
64
+ }
65
+ async deleteEnvVars(ids, context) {
66
+ const { domain, tx } = context.state;
67
+ await tx.getRepository(env_var_1.EnvVar).delete({
68
+ domain: { id: domain.id },
69
+ id: (0, typeorm_1.In)(ids)
70
+ });
71
+ return true;
72
+ }
73
+ };
74
+ exports.EnvVarMutation = EnvVarMutation;
75
+ tslib_1.__decorate([
76
+ (0, type_graphql_1.Directive)('@transaction'),
77
+ (0, type_graphql_1.Directive)('@privilege(category: "env-var", privilege: "mutation", domainOwnerGranted: true)'),
78
+ (0, type_graphql_1.Mutation)(returns => env_var_1.EnvVar, { description: 'To create new EnvVar' }),
79
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('envVar')),
80
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
81
+ tslib_1.__metadata("design:type", Function),
82
+ tslib_1.__metadata("design:paramtypes", [env_var_type_1.NewEnvVar, Object]),
83
+ tslib_1.__metadata("design:returntype", Promise)
84
+ ], EnvVarMutation.prototype, "createEnvVar", null);
85
+ tslib_1.__decorate([
86
+ (0, type_graphql_1.Directive)('@transaction'),
87
+ (0, type_graphql_1.Directive)('@privilege(category: "env-var", privilege: "mutation", domainOwnerGranted: true)'),
88
+ (0, type_graphql_1.Mutation)(returns => env_var_1.EnvVar, { description: 'To modify EnvVar information' }),
89
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
90
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('envVar')),
91
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
92
+ tslib_1.__metadata("design:type", Function),
93
+ tslib_1.__metadata("design:paramtypes", [String, env_var_type_1.EnvVarPatch, Object]),
94
+ tslib_1.__metadata("design:returntype", Promise)
95
+ ], EnvVarMutation.prototype, "updateEnvVar", null);
96
+ tslib_1.__decorate([
97
+ (0, type_graphql_1.Directive)('@transaction'),
98
+ (0, type_graphql_1.Directive)('@privilege(category: "env-var", privilege: "mutation", domainOwnerGranted: true)'),
99
+ (0, type_graphql_1.Mutation)(returns => [env_var_1.EnvVar], { description: "To modify multiple EnvVars' information" }),
100
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [env_var_type_1.EnvVarPatch])),
101
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
102
+ tslib_1.__metadata("design:type", Function),
103
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
104
+ tslib_1.__metadata("design:returntype", Promise)
105
+ ], EnvVarMutation.prototype, "updateMultipleEnvVars", null);
106
+ tslib_1.__decorate([
107
+ (0, type_graphql_1.Directive)('@transaction'),
108
+ (0, type_graphql_1.Directive)('@privilege(category: "env-var", privilege: "mutation", domainOwnerGranted: true)'),
109
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete EnvVar' }),
110
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
111
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
112
+ tslib_1.__metadata("design:type", Function),
113
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
114
+ tslib_1.__metadata("design:returntype", Promise)
115
+ ], EnvVarMutation.prototype, "deleteEnvVar", null);
116
+ tslib_1.__decorate([
117
+ (0, type_graphql_1.Directive)('@transaction'),
118
+ (0, type_graphql_1.Directive)('@privilege(category: "env-var", privilege: "mutation", domainOwnerGranted: true)'),
119
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple EnvVars' }),
120
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
121
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
122
+ tslib_1.__metadata("design:type", Function),
123
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
124
+ tslib_1.__metadata("design:returntype", Promise)
125
+ ], EnvVarMutation.prototype, "deleteEnvVars", null);
126
+ exports.EnvVarMutation = EnvVarMutation = tslib_1.__decorate([
127
+ (0, type_graphql_1.Resolver)(env_var_1.EnvVar)
128
+ ], EnvVarMutation);
129
+ //# sourceMappingURL=env-var-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-var-mutation.js","sourceRoot":"","sources":["../../../server/service/env-var/env-var-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { getRepository } from '../../initializers/database.js'\nimport { In } from 'typeorm'\n\nimport { EnvVar } from './env-var'\nimport { NewEnvVar, EnvVarPatch } from './env-var-type'\n\n@Resolver(EnvVar)\nexport class EnvVarMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"env-var\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => EnvVar, { description: 'To create new EnvVar' })\n async createEnvVar(@Arg('envVar') envVar: NewEnvVar, @Ctx() context: any): Promise<EnvVar> {\n const { domain, user, tx } = context.state\n const repository = getRepository<EnvVar>(EnvVar, tx)\n\n return await repository.save({\n ...envVar,\n domain\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"env-var\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => EnvVar, { description: 'To modify EnvVar information' })\n async updateEnvVar(@Arg('id') id: string, @Arg('envVar') envVar: EnvVarPatch, @Ctx() context: any): Promise<EnvVar> {\n const { domain, user, tx } = context.state\n\n const repository = getRepository(EnvVar, tx)\n\n const existingEnvVar = await repository.findOne({\n where: { id, domain: { id: domain.id } }\n })\n\n if (!existingEnvVar) {\n throw new Error('Environment variable not found')\n }\n\n return await repository.save(existingEnvVar)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"env-var\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [EnvVar], { description: \"To modify multiple EnvVars' information\" })\n async updateMultipleEnvVars(\n @Arg('patches', type => [EnvVarPatch]) patches: EnvVarPatch[],\n @Ctx() context: any\n ): Promise<EnvVar[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const envVarRepo = tx.getRepository(EnvVar)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await envVarRepo.save({\n ...newRecord,\n domain\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const envVar = await envVarRepo.findOneBy({ id: updateRecord.id })\n\n const result = await envVarRepo.save({\n ...envVar,\n ...updateRecord\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"env-var\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete EnvVar' })\n async deleteEnvVar(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n const repository = getRepository(EnvVar, tx)\n\n const envVar = await repository.delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"env-var\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple EnvVars' })\n async deleteEnvVars(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(EnvVar).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import { EnvVar } from './env-var';
2
+ import { EnvVarList } from './env-var-type';
3
+ import { ListParam } from '../common-types/list-param';
4
+ import { Domain } from '../domain/domain.js';
5
+ export declare class EnvVarQuery {
6
+ envVar(id: string, context: any): Promise<EnvVar | null>;
7
+ envVars(params: ListParam, context: any): Promise<EnvVarList>;
8
+ domain(envVar: EnvVar): Promise<Domain>;
9
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnvVarQuery = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const database_js_1 = require("../../initializers/database.js");
7
+ const env_var_1 = require("./env-var");
8
+ const env_var_type_1 = require("./env-var-type");
9
+ const list_param_1 = require("../common-types/list-param");
10
+ const domain_js_1 = require("../domain/domain.js");
11
+ const get_query_builder_from_list_params_js_1 = require("../../utils/get-query-builder-from-list-params.js");
12
+ let EnvVarQuery = class EnvVarQuery {
13
+ async envVar(id, context) {
14
+ const { domain } = context.state;
15
+ return await (0, database_js_1.getRepository)(env_var_1.EnvVar).findOne({
16
+ where: { id, domain: { id: domain.id } },
17
+ relations: ['domain']
18
+ });
19
+ }
20
+ async envVars(params, context) {
21
+ const { domain } = context.state;
22
+ const queryBuilder = (0, get_query_builder_from_list_params_js_1.getQueryBuilderFromListParams)({
23
+ repository: (0, database_js_1.getRepository)(env_var_1.EnvVar),
24
+ params,
25
+ domain,
26
+ searchables: ['name', 'value']
27
+ });
28
+ const [items, total] = await queryBuilder.getManyAndCount();
29
+ return { items, total };
30
+ }
31
+ async domain(envVar) {
32
+ return await (0, database_js_1.getRepository)(domain_js_1.Domain).findOneBy({ id: envVar.domainId });
33
+ }
34
+ };
35
+ exports.EnvVarQuery = EnvVarQuery;
36
+ tslib_1.__decorate([
37
+ (0, type_graphql_1.Directive)('@privilege(category: "env-var", privilege: "query", domainOwnerGranted: true)'),
38
+ (0, type_graphql_1.Query)(returns => env_var_1.EnvVar, { nullable: true }),
39
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
40
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
41
+ tslib_1.__metadata("design:type", Function),
42
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
43
+ tslib_1.__metadata("design:returntype", Promise)
44
+ ], EnvVarQuery.prototype, "envVar", null);
45
+ tslib_1.__decorate([
46
+ (0, type_graphql_1.Directive)('@privilege(category: "env-var", privilege: "query", domainOwnerGranted: true)'),
47
+ (0, type_graphql_1.Query)(returns => env_var_type_1.EnvVarList),
48
+ tslib_1.__param(0, (0, type_graphql_1.Args)(type => list_param_1.ListParam)),
49
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
50
+ tslib_1.__metadata("design:type", Function),
51
+ tslib_1.__metadata("design:paramtypes", [list_param_1.ListParam, Object]),
52
+ tslib_1.__metadata("design:returntype", Promise)
53
+ ], EnvVarQuery.prototype, "envVars", null);
54
+ tslib_1.__decorate([
55
+ (0, type_graphql_1.FieldResolver)(type => domain_js_1.Domain),
56
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
57
+ tslib_1.__metadata("design:type", Function),
58
+ tslib_1.__metadata("design:paramtypes", [env_var_1.EnvVar]),
59
+ tslib_1.__metadata("design:returntype", Promise)
60
+ ], EnvVarQuery.prototype, "domain", null);
61
+ exports.EnvVarQuery = EnvVarQuery = tslib_1.__decorate([
62
+ (0, type_graphql_1.Resolver)(env_var_1.EnvVar)
63
+ ], EnvVarQuery);
64
+ //# sourceMappingURL=env-var-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-var-query.js","sourceRoot":"","sources":["../../../server/service/env-var/env-var-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8F;AAC9F,gEAA8D;AAE9D,uCAAkC;AAClC,iDAA2C;AAC3C,2DAAsD;AACtD,mDAA4C;AAC5C,6GAAiG;AAG1F,IAAM,WAAW,GAAjB,MAAM,WAAW;IAGhB,AAAN,KAAK,CAAC,MAAM,CAAY,EAAU,EAAS,OAAY;QACrD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,2BAAa,EAAC,gBAAM,CAAC,CAAC,OAAO,CAAC;YACzC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE;YACxC,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,OAAO,CAA0B,MAAiB,EAAS,OAAY;QAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qEAA6B,EAAC;YACjD,UAAU,EAAE,IAAA,2BAAa,EAAC,gBAAM,CAAC;YACjC,MAAM;YACN,MAAM;YACN,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SAC/B,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,MAAc;QACjC,OAAO,MAAM,IAAA,2BAAa,EAAC,kBAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvE,CAAC;CACF,CAAA;AAjCY,kCAAW;AAGhB;IAFL,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,gBAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/B,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yCAOzC;AAIK;IAFL,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,yBAAU,CAAC;IACd,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,sBAAS,CAAC,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,sBAAS;;0CAavD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,gBAAM;;yCAElC;sBAhCU,WAAW;IADvB,IAAA,uBAAQ,EAAC,gBAAM,CAAC;GACJ,WAAW,CAiCvB","sourcesContent":["import { Directive, Resolver, Query, Arg, Args, Ctx, FieldResolver, Root } from 'type-graphql'\nimport { getRepository } from '../../initializers/database.js'\n\nimport { EnvVar } from './env-var'\nimport { EnvVarList } from './env-var-type'\nimport { ListParam } from '../common-types/list-param'\nimport { Domain } from '../domain/domain.js'\nimport { getQueryBuilderFromListParams } from '../../utils/get-query-builder-from-list-params.js'\n\n@Resolver(EnvVar)\nexport class EnvVarQuery {\n @Directive('@privilege(category: \"env-var\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => EnvVar, { nullable: true })\n async envVar(@Arg('id') id: string, @Ctx() context: any): Promise<EnvVar | null> {\n const { domain } = context.state\n\n return await getRepository(EnvVar).findOne({\n where: { id, domain: { id: domain.id } },\n relations: ['domain']\n })\n }\n\n @Directive('@privilege(category: \"env-var\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => EnvVarList)\n async envVars(@Args(type => ListParam) params: ListParam, @Ctx() context: any): Promise<EnvVarList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(EnvVar),\n params,\n domain,\n searchables: ['name', 'value']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() envVar: EnvVar): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: envVar.domainId })\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { EnvVar } from './env-var';
2
+ export declare class NewEnvVar {
3
+ name: string;
4
+ value?: string;
5
+ description?: string;
6
+ active?: boolean;
7
+ }
8
+ export declare class EnvVarPatch {
9
+ id: string;
10
+ name?: string;
11
+ value?: string;
12
+ description?: string;
13
+ active?: boolean;
14
+ cuFlag?: string;
15
+ }
16
+ export declare class EnvVarList {
17
+ items: EnvVar[];
18
+ total: number;
19
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnvVarList = exports.EnvVarPatch = exports.NewEnvVar = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const env_var_1 = require("./env-var");
7
+ let NewEnvVar = class NewEnvVar {
8
+ };
9
+ exports.NewEnvVar = NewEnvVar;
10
+ tslib_1.__decorate([
11
+ (0, type_graphql_1.Field)({ description: 'The name for the new environment variable.' }),
12
+ tslib_1.__metadata("design:type", String)
13
+ ], NewEnvVar.prototype, "name", void 0);
14
+ tslib_1.__decorate([
15
+ (0, type_graphql_1.Field)(type => String, { nullable: true, description: 'The value for the new environment variable.' }),
16
+ tslib_1.__metadata("design:type", String)
17
+ ], NewEnvVar.prototype, "value", void 0);
18
+ tslib_1.__decorate([
19
+ (0, type_graphql_1.Field)({ nullable: true, description: 'A detailed description for the new environment variable.' }),
20
+ tslib_1.__metadata("design:type", String)
21
+ ], NewEnvVar.prototype, "description", void 0);
22
+ tslib_1.__decorate([
23
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Indicates whether this environment variable is active.' }),
24
+ tslib_1.__metadata("design:type", Boolean)
25
+ ], NewEnvVar.prototype, "active", void 0);
26
+ exports.NewEnvVar = NewEnvVar = tslib_1.__decorate([
27
+ (0, type_graphql_1.InputType)({ description: 'Input type for creating a new environment variable.' })
28
+ ], NewEnvVar);
29
+ let EnvVarPatch = class EnvVarPatch {
30
+ };
31
+ exports.EnvVarPatch = EnvVarPatch;
32
+ tslib_1.__decorate([
33
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true, description: 'The unique identifier of the environment variable to update.' }),
34
+ tslib_1.__metadata("design:type", String)
35
+ ], EnvVarPatch.prototype, "id", void 0);
36
+ tslib_1.__decorate([
37
+ (0, type_graphql_1.Field)({ nullable: true, description: 'The new name for the environment variable.' }),
38
+ tslib_1.__metadata("design:type", String)
39
+ ], EnvVarPatch.prototype, "name", void 0);
40
+ tslib_1.__decorate([
41
+ (0, type_graphql_1.Field)(type => String, { nullable: true, description: 'The new value for the environment variable.' }),
42
+ tslib_1.__metadata("design:type", String)
43
+ ], EnvVarPatch.prototype, "value", void 0);
44
+ tslib_1.__decorate([
45
+ (0, type_graphql_1.Field)({ nullable: true, description: 'The new description for the environment variable.' }),
46
+ tslib_1.__metadata("design:type", String)
47
+ ], EnvVarPatch.prototype, "description", void 0);
48
+ tslib_1.__decorate([
49
+ (0, type_graphql_1.Field)({ nullable: true, description: 'The new active status for the environment variable.' }),
50
+ tslib_1.__metadata("design:type", Boolean)
51
+ ], EnvVarPatch.prototype, "active", void 0);
52
+ tslib_1.__decorate([
53
+ (0, type_graphql_1.Field)({
54
+ nullable: true,
55
+ description: 'A flag indicating whether the environment variable is being created, updated, or deleted.'
56
+ }),
57
+ tslib_1.__metadata("design:type", String)
58
+ ], EnvVarPatch.prototype, "cuFlag", void 0);
59
+ exports.EnvVarPatch = EnvVarPatch = tslib_1.__decorate([
60
+ (0, type_graphql_1.InputType)({ description: 'Input type for updating an existing environment variable.' })
61
+ ], EnvVarPatch);
62
+ let EnvVarList = class EnvVarList {
63
+ };
64
+ exports.EnvVarList = EnvVarList;
65
+ tslib_1.__decorate([
66
+ (0, type_graphql_1.Field)(type => [env_var_1.EnvVar], { description: 'The list of environment variable items.' }),
67
+ tslib_1.__metadata("design:type", Array)
68
+ ], EnvVarList.prototype, "items", void 0);
69
+ tslib_1.__decorate([
70
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'The total number of environment variables.' }),
71
+ tslib_1.__metadata("design:type", Number)
72
+ ], EnvVarList.prototype, "total", void 0);
73
+ exports.EnvVarList = EnvVarList = tslib_1.__decorate([
74
+ (0, type_graphql_1.ObjectType)({ description: 'List of environment variables.' })
75
+ ], EnvVarList);
76
+ //# sourceMappingURL=env-var-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-var-type.js","sourceRoot":"","sources":["../../../server/service/env-var/env-var-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AAEpE,uCAAkC;AAG3B,IAAM,SAAS,GAAf,MAAM,SAAS;CAYrB,CAAA;AAZY,8BAAS;AAEpB;IADC,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC;;uCACzD;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;;wCACxF;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAAC;;8CAC/E;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;;yCACjF;oBAXL,SAAS;IADrB,IAAA,wBAAS,EAAC,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;GACrE,SAAS,CAYrB;AAGM,IAAM,WAAW,GAAjB,MAAM,WAAW;CAqBvB,CAAA;AArBY,kCAAW;AAEtB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC;;uCACzG;AAGV;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC;;yCACxE;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;;0CACxF;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,mDAAmD,EAAE,CAAC;;gDACxE;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;;2CAC9E;AAMhB;IAJC,IAAA,oBAAK,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2FAA2F;KACzG,CAAC;;2CACa;sBApBJ,WAAW;IADvB,IAAA,wBAAS,EAAC,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;GAC3E,WAAW,CAqBvB;AAGM,IAAM,UAAU,GAAhB,MAAM,UAAU;CAMtB,CAAA;AANY,gCAAU;AAErB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAM,CAAC,EAAE,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;;yCACrE;AAGf;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC;;yCACrE;qBALF,UAAU;IADtB,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;GACjD,UAAU,CAMtB","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { EnvVar } from './env-var'\n\n@InputType({ description: 'Input type for creating a new environment variable.' })\nexport class NewEnvVar {\n @Field({ description: 'The name for the new environment variable.' })\n name: string\n\n @Field(type => String, { nullable: true, description: 'The value for the new environment variable.' })\n value?: string\n\n @Field({ nullable: true, description: 'A detailed description for the new environment variable.' })\n description?: string\n\n @Field({ nullable: true, description: 'Indicates whether this environment variable is active.' })\n active?: boolean\n}\n\n@InputType({ description: 'Input type for updating an existing environment variable.' })\nexport class EnvVarPatch {\n @Field(type => ID, { nullable: true, description: 'The unique identifier of the environment variable to update.' })\n id: string\n\n @Field({ nullable: true, description: 'The new name for the environment variable.' })\n name?: string\n\n @Field(type => String, { nullable: true, description: 'The new value for the environment variable.' })\n value?: string\n\n @Field({ nullable: true, description: 'The new description for the environment variable.' })\n description?: string\n\n @Field({ nullable: true, description: 'The new active status for the environment variable.' })\n active?: boolean\n\n @Field({\n nullable: true,\n description: 'A flag indicating whether the environment variable is being created, updated, or deleted.'\n })\n cuFlag?: string\n}\n\n@ObjectType({ description: 'List of environment variables.' })\nexport class EnvVarList {\n @Field(type => [EnvVar], { description: 'The list of environment variable items.' })\n items: EnvVar[]\n\n @Field(type => Int, { description: 'The total number of environment variables.' })\n total: number\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { Domain } from '../domain/domain';
2
+ export declare class EnvVar {
3
+ readonly id: string;
4
+ domain: Domain;
5
+ domainId: string;
6
+ name: string;
7
+ value: string;
8
+ description: string;
9
+ active: boolean;
10
+ createdAt: Date;
11
+ updatedAt: Date;
12
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnvVar = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const typeorm_1 = require("typeorm");
6
+ const type_graphql_1 = require("type-graphql");
7
+ const domain_1 = require("../domain/domain");
8
+ const encrypt_transform_1 = require("../../typeorm/encrypt-transform");
9
+ let EnvVar = class EnvVar {
10
+ };
11
+ exports.EnvVar = EnvVar;
12
+ tslib_1.__decorate([
13
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
14
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID, { description: 'Unique identifier for the environment variable.' }),
15
+ tslib_1.__metadata("design:type", String)
16
+ ], EnvVar.prototype, "id", void 0);
17
+ tslib_1.__decorate([
18
+ (0, typeorm_1.ManyToOne)(type => domain_1.Domain),
19
+ (0, type_graphql_1.Field)(type => domain_1.Domain, { nullable: true, description: 'The domain to which this environment variable belongs.' }),
20
+ tslib_1.__metadata("design:type", domain_1.Domain)
21
+ ], EnvVar.prototype, "domain", void 0);
22
+ tslib_1.__decorate([
23
+ (0, typeorm_1.RelationId)((envVar) => envVar.domain),
24
+ (0, type_graphql_1.Field)({ description: 'The domain ID to which this environment variable belongs.' }),
25
+ tslib_1.__metadata("design:type", String)
26
+ ], EnvVar.prototype, "domainId", void 0);
27
+ tslib_1.__decorate([
28
+ (0, typeorm_1.Column)(),
29
+ (0, type_graphql_1.Field)({ description: 'The name of the environment variable.' }),
30
+ tslib_1.__metadata("design:type", String)
31
+ ], EnvVar.prototype, "name", void 0);
32
+ tslib_1.__decorate([
33
+ (0, typeorm_1.Column)({
34
+ type: 'text',
35
+ nullable: true,
36
+ transformer: encrypt_transform_1.encryptTransformer
37
+ }),
38
+ (0, type_graphql_1.Field)(type => String, { nullable: true, description: 'The value of the environment variable (encrypted).' }),
39
+ tslib_1.__metadata("design:type", String)
40
+ ], EnvVar.prototype, "value", void 0);
41
+ tslib_1.__decorate([
42
+ (0, typeorm_1.Column)({
43
+ nullable: true
44
+ }),
45
+ (0, type_graphql_1.Field)({ nullable: true, description: 'A detailed description of the environment variable.' }),
46
+ tslib_1.__metadata("design:type", String)
47
+ ], EnvVar.prototype, "description", void 0);
48
+ tslib_1.__decorate([
49
+ (0, typeorm_1.Column)({
50
+ default: true
51
+ }),
52
+ (0, type_graphql_1.Field)({ description: 'Indicates whether this environment variable is currently active.' }),
53
+ tslib_1.__metadata("design:type", Boolean)
54
+ ], EnvVar.prototype, "active", void 0);
55
+ tslib_1.__decorate([
56
+ (0, typeorm_1.CreateDateColumn)(),
57
+ (0, type_graphql_1.Field)({ nullable: true, description: 'The timestamp when the environment variable was created.' }),
58
+ tslib_1.__metadata("design:type", Date)
59
+ ], EnvVar.prototype, "createdAt", void 0);
60
+ tslib_1.__decorate([
61
+ (0, typeorm_1.UpdateDateColumn)(),
62
+ (0, type_graphql_1.Field)({ nullable: true, description: 'The timestamp when the environment variable was last updated.' }),
63
+ tslib_1.__metadata("design:type", Date)
64
+ ], EnvVar.prototype, "updatedAt", void 0);
65
+ exports.EnvVar = EnvVar = tslib_1.__decorate([
66
+ (0, type_graphql_1.ObjectType)({ description: 'Environment variable entity for storing key-value pairs.' }),
67
+ (0, typeorm_1.Entity)('env_vars'),
68
+ (0, typeorm_1.Index)('ix_env_var_0', (envVar) => [envVar.domain, envVar.name], {
69
+ unique: true
70
+ })
71
+ ], EnvVar);
72
+ //# sourceMappingURL=env-var.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-var.js","sourceRoot":"","sources":["../../../server/service/env-var/env-var.ts"],"names":[],"mappings":";;;;AAAA,qCAWgB;AAChB,+CAAyD;AAEzD,6CAAyC;AACzC,uEAAoE;AAO7D,IAAM,MAAM,GAAZ,MAAM,MAAM;CA4ClB,CAAA;AA5CY,wBAAM;AAGR;IAFR,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;;kCACnE;AAInB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,eAAM,CAAC;IACzB,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;sCACzG,eAAM;sCAAA;AAId;IAFC,IAAA,oBAAU,EAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;;wCACpE;AAIhB;IAFC,IAAA,gBAAM,GAAE;IACR,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;oCACpD;AAQZ;IANC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,sCAAkB;KAChC,CAAC;IACD,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC;;qCAChG;AAMb;IAJC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;;2CAC3E;AAMnB;IAJC,IAAA,gBAAM,EAAC;QACN,OAAO,EAAE,IAAI;KACd,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,kEAAkE,EAAE,CAAC;;sCAC5E;AAIf;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAAC;sCACxF,IAAI;yCAAA;AAIf;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,+DAA+D,EAAE,CAAC;sCAC7F,IAAI;yCAAA;iBA3CJ,MAAM;IALlB,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAAC;IACvF,IAAA,gBAAM,EAAC,UAAU,CAAC;IAClB,IAAA,eAAK,EAAC,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;QACvE,MAAM,EAAE,IAAI;KACb,CAAC;GACW,MAAM,CA4ClB","sourcesContent":["import {\n Entity,\n PrimaryGeneratedColumn,\n Column,\n ManyToOne,\n RelationId,\n CreateDateColumn,\n UpdateDateColumn,\n ManyToMany,\n JoinTable,\n Index\n} from 'typeorm'\nimport { Field, ID, ObjectType, Int } from 'type-graphql'\n\nimport { Domain } from '../domain/domain'\nimport { encryptTransformer } from '../../typeorm/encrypt-transform'\n\n@ObjectType({ description: 'Environment variable entity for storing key-value pairs.' })\n@Entity('env_vars')\n@Index('ix_env_var_0', (envVar: EnvVar) => [envVar.domain, envVar.name], {\n unique: true\n})\nexport class EnvVar {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { description: 'Unique identifier for the environment variable.' })\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain, { nullable: true, description: 'The domain to which this environment variable belongs.' })\n domain: Domain\n\n @RelationId((envVar: EnvVar) => envVar.domain)\n @Field({ description: 'The domain ID to which this environment variable belongs.' })\n domainId: string\n\n @Column()\n @Field({ description: 'The name of the environment variable.' })\n name: string\n\n @Column({\n type: 'text',\n nullable: true,\n transformer: encryptTransformer\n })\n @Field(type => String, { nullable: true, description: 'The value of the environment variable (encrypted).' })\n value: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true, description: 'A detailed description of the environment variable.' })\n description: string\n\n @Column({\n default: true\n })\n @Field({ description: 'Indicates whether this environment variable is currently active.' })\n active: boolean\n\n @CreateDateColumn()\n @Field({ nullable: true, description: 'The timestamp when the environment variable was created.' })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true, description: 'The timestamp when the environment variable was last updated.' })\n updatedAt: Date\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import { EnvVar } from './env-var';
2
+ import { EnvVarQuery } from './env-var-query';
3
+ import { EnvVarMutation } from './env-var-mutation';
4
+ export declare const entities: (typeof EnvVar)[];
5
+ export declare const resolvers: (typeof EnvVarQuery | typeof EnvVarMutation)[];
6
+ export * from './env-var';
7
+ export * from './env-var-type';
8
+ export * from './env-var-query';
9
+ export * from './env-var-mutation';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvers = exports.entities = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const env_var_1 = require("./env-var");
6
+ const env_var_query_1 = require("./env-var-query");
7
+ const env_var_mutation_1 = require("./env-var-mutation");
8
+ exports.entities = [env_var_1.EnvVar];
9
+ exports.resolvers = [env_var_query_1.EnvVarQuery, env_var_mutation_1.EnvVarMutation];
10
+ tslib_1.__exportStar(require("./env-var"), exports);
11
+ tslib_1.__exportStar(require("./env-var-type"), exports);
12
+ tslib_1.__exportStar(require("./env-var-query"), exports);
13
+ tslib_1.__exportStar(require("./env-var-mutation"), exports);
14
+ //# sourceMappingURL=index.js.map