pmcf 4.16.13 → 4.17.0
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.
- package/README.md +46 -23
- package/bin/pmcf-package +1 -1
- package/package.json +2 -2
- package/src/base.mjs +33 -11
- package/src/host.mjs +1 -2
- package/src/module.mjs +1 -1
- package/src/service.mjs +1 -1
- package/src/services/alpm.mjs +64 -0
- package/src/services/mosquitto.mjs +13 -11
- package/src/services/openldap.mjs +13 -11
- package/types/base.d.mts +13 -2
- package/types/host.d.mts +1 -1
- package/types/module.d.mts +1 -1
- package/types/services/{alpm-repo.d.mts → alpm.d.mts} +10 -12
- package/src/services/alpm-repo.mjs +0 -38
package/README.md
CHANGED
|
@@ -42,65 +42,69 @@ generates config packages for:
|
|
|
42
42
|
|
|
43
43
|
* [Base](#base)
|
|
44
44
|
* [Parameters](#parameters)
|
|
45
|
-
* [
|
|
45
|
+
* [walkDirections](#walkdirections)
|
|
46
46
|
* [Parameters](#parameters-1)
|
|
47
|
-
* [
|
|
47
|
+
* [extendedAttribute](#extendedattribute)
|
|
48
48
|
* [Parameters](#parameters-2)
|
|
49
|
-
* [
|
|
49
|
+
* [propertyIterator](#propertyiterator)
|
|
50
50
|
* [Parameters](#parameters-3)
|
|
51
|
+
* [getProperties](#getproperties)
|
|
52
|
+
* [Parameters](#parameters-4)
|
|
51
53
|
* [priority](#priority)
|
|
52
54
|
* [expression](#expression)
|
|
53
|
-
* [Parameters](#parameters-4)
|
|
54
|
-
* [findService](#findservice)
|
|
55
55
|
* [Parameters](#parameters-5)
|
|
56
|
-
* [
|
|
56
|
+
* [findService](#findservice)
|
|
57
57
|
* [Parameters](#parameters-6)
|
|
58
|
-
* [
|
|
58
|
+
* [templateContent](#templatecontent)
|
|
59
59
|
* [Parameters](#parameters-7)
|
|
60
|
+
* [property](#property)
|
|
61
|
+
* [Parameters](#parameters-8)
|
|
62
|
+
* [expand](#expand)
|
|
63
|
+
* [Parameters](#parameters-9)
|
|
60
64
|
* [PortEndpoint](#portendpoint)
|
|
61
|
-
* [Parameters](#parameters-
|
|
65
|
+
* [Parameters](#parameters-10)
|
|
62
66
|
* [port](#port)
|
|
63
67
|
* [socketAddress](#socketaddress)
|
|
64
68
|
* [HTTPEndpoint](#httpendpoint)
|
|
65
|
-
* [Parameters](#parameters-
|
|
69
|
+
* [Parameters](#parameters-11)
|
|
66
70
|
* [port](#port-1)
|
|
67
71
|
* [SkeletonNetworkInterface](#skeletonnetworkinterface)
|
|
68
72
|
* [networkAddresses](#networkaddresses)
|
|
69
|
-
* [Parameters](#parameters-
|
|
73
|
+
* [Parameters](#parameters-12)
|
|
70
74
|
* [SystemdJournalRemoteService](#systemdjournalremoteservice)
|
|
71
75
|
* [Properties](#properties)
|
|
72
76
|
* [systemdConfigs](#systemdconfigs)
|
|
73
|
-
* [Parameters](#parameters-
|
|
77
|
+
* [Parameters](#parameters-13)
|
|
74
78
|
* [SystemdJournalUploadService](#systemdjournaluploadservice)
|
|
75
79
|
* [Properties](#properties-1)
|
|
76
80
|
* [systemdConfigs](#systemdconfigs-1)
|
|
77
|
-
* [Parameters](#parameters-
|
|
81
|
+
* [Parameters](#parameters-14)
|
|
78
82
|
* [NetworkAddress](#networkaddress)
|
|
79
|
-
* [Parameters](#parameters-
|
|
83
|
+
* [Parameters](#parameters-15)
|
|
80
84
|
* [subnet](#subnet)
|
|
81
85
|
* [networkInterface](#networkinterface)
|
|
82
86
|
* [address](#address)
|
|
83
87
|
* [addresses](#addresses)
|
|
84
|
-
* [Parameters](#parameters-
|
|
88
|
+
* [Parameters](#parameters-16)
|
|
85
89
|
* [cidrAddresses](#cidraddresses)
|
|
86
|
-
* [Parameters](#parameters-
|
|
90
|
+
* [Parameters](#parameters-17)
|
|
87
91
|
* [isTemplate](#istemplate)
|
|
88
92
|
* [services](#services)
|
|
89
|
-
* [Parameters](#parameters-
|
|
93
|
+
* [Parameters](#parameters-18)
|
|
90
94
|
* [named](#named)
|
|
91
|
-
* [Parameters](#parameters-
|
|
95
|
+
* [Parameters](#parameters-19)
|
|
92
96
|
* [serviceEndpoints](#serviceendpoints)
|
|
93
|
-
* [Parameters](#parameters-
|
|
97
|
+
* [Parameters](#parameters-20)
|
|
94
98
|
* [domainName](#domainname)
|
|
95
|
-
* [Parameters](#parameters-
|
|
99
|
+
* [Parameters](#parameters-21)
|
|
96
100
|
* [domainFromDominName](#domainfromdominname)
|
|
97
|
-
* [Parameters](#parameters-
|
|
101
|
+
* [Parameters](#parameters-22)
|
|
98
102
|
* [sectionLines](#sectionlines)
|
|
99
|
-
* [Parameters](#parameters-
|
|
103
|
+
* [Parameters](#parameters-23)
|
|
100
104
|
* [asArray](#asarray)
|
|
101
|
-
* [Parameters](#parameters-
|
|
105
|
+
* [Parameters](#parameters-24)
|
|
102
106
|
* [asIterator](#asiterator)
|
|
103
|
-
* [Parameters](#parameters-
|
|
107
|
+
* [Parameters](#parameters-25)
|
|
104
108
|
|
|
105
109
|
## Base
|
|
106
110
|
|
|
@@ -112,6 +116,16 @@ properties: use defined values to support attribute value definitions
|
|
|
112
116
|
* `owner` **[Base](#base)** 
|
|
113
117
|
* `data` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?** 
|
|
114
118
|
|
|
119
|
+
### walkDirections
|
|
120
|
+
|
|
121
|
+
Walk the object graph in some directions and deliver seen nodes.
|
|
122
|
+
|
|
123
|
+
#### Parameters
|
|
124
|
+
|
|
125
|
+
* `directions` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** (optional, default `["this","extends","owner"]`)
|
|
126
|
+
|
|
127
|
+
Returns **Iterable<[Base](#base)>** 
|
|
128
|
+
|
|
115
129
|
### extendedAttribute
|
|
116
130
|
|
|
117
131
|
#### Parameters
|
|
@@ -161,6 +175,15 @@ Returns **any** 
|
|
|
161
175
|
|
|
162
176
|
Returns **any** service with the highest priority
|
|
163
177
|
|
|
178
|
+
### templateContent
|
|
179
|
+
|
|
180
|
+
#### Parameters
|
|
181
|
+
|
|
182
|
+
* `entryProperties` **any** 
|
|
183
|
+
* `directoryProperties` **any** 
|
|
184
|
+
|
|
185
|
+
Returns **AsyncIterable\<ContentProvider>** 
|
|
186
|
+
|
|
164
187
|
### property
|
|
165
188
|
|
|
166
189
|
#### Parameters
|
package/bin/pmcf-package
CHANGED
|
@@ -67,7 +67,7 @@ for (const object of root.find(args)) {
|
|
|
67
67
|
const output = new outputFactory(properties);
|
|
68
68
|
|
|
69
69
|
const artifact = await output.create(
|
|
70
|
-
sources.map(source => source[Symbol.asyncIterator]()),
|
|
70
|
+
sources.flat().map(source => source[Symbol.asyncIterator]()),
|
|
71
71
|
[],
|
|
72
72
|
publishingDetails,
|
|
73
73
|
options
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pmcf",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.17.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"content-entry-transform": "^1.6.4",
|
|
57
57
|
"ip-utilties": "^3.0.0",
|
|
58
|
-
"npm-pkgbuild": "^20.
|
|
58
|
+
"npm-pkgbuild": "^20.6.1",
|
|
59
59
|
"pacc": "^8.8.0",
|
|
60
60
|
"package-directory": "^8.2.0"
|
|
61
61
|
},
|
package/src/base.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
|
+
import { stat } from "node:fs/promises";
|
|
2
3
|
import { allOutputs } from "npm-pkgbuild";
|
|
3
4
|
import {
|
|
4
5
|
createExpressionTransformer,
|
|
@@ -318,6 +319,11 @@ export class Base {
|
|
|
318
319
|
return this.owner.addObject(object);
|
|
319
320
|
}
|
|
320
321
|
|
|
322
|
+
/**
|
|
323
|
+
* Walk the object graph in some directions and deliver seen nodes.
|
|
324
|
+
* @param {string[]} directions
|
|
325
|
+
* @return {Iterable<Base>}
|
|
326
|
+
*/
|
|
321
327
|
*walkDirections(directions = ["this", "extends", "owner"]) {
|
|
322
328
|
yield* this._walkDirections(
|
|
323
329
|
directions,
|
|
@@ -567,17 +573,33 @@ export class Base {
|
|
|
567
573
|
];
|
|
568
574
|
}
|
|
569
575
|
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
576
|
+
/**
|
|
577
|
+
*
|
|
578
|
+
* @param {*} entryProperties
|
|
579
|
+
* @param {*} directoryProperties
|
|
580
|
+
* @returns {AsyncIterable<ContentProvider>}
|
|
581
|
+
*/
|
|
582
|
+
async *templateContent(entryProperties, directoryProperties) {
|
|
583
|
+
for (const node of this.walkDirections(["this", "extends"])) {
|
|
584
|
+
const dir = join(node.directory, "content");
|
|
585
|
+
|
|
586
|
+
try {
|
|
587
|
+
if ((await stat(dir)).isDirectory) {
|
|
588
|
+
yield transform(
|
|
589
|
+
new FileContentProvider(
|
|
590
|
+
{ dir, pattern: "**/*" },
|
|
591
|
+
entryProperties,
|
|
592
|
+
directoryProperties
|
|
593
|
+
),
|
|
594
|
+
this.templateTransformers
|
|
595
|
+
);
|
|
596
|
+
}
|
|
597
|
+
} catch (e) {
|
|
598
|
+
if (e.code !== "ENOENT") {
|
|
599
|
+
throw e;
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
}
|
|
581
603
|
}
|
|
582
604
|
|
|
583
605
|
get tags() {
|
package/src/host.mjs
CHANGED
|
@@ -412,7 +412,7 @@ export class Host extends ServiceOwner {
|
|
|
412
412
|
const pkgName = `${this.typeName}-${this.owner.name}-${this.name}`;
|
|
413
413
|
let packageData = {
|
|
414
414
|
sources: [
|
|
415
|
-
|
|
415
|
+
await Array.fromAsync(this.templateContent()),
|
|
416
416
|
new FileContentProvider(
|
|
417
417
|
{ dir: this.directory, pattern: "*.pub" },
|
|
418
418
|
{ destination: "/etc/ssh/", mode: 0o644 }
|
|
@@ -491,4 +491,3 @@ export class Host extends ServiceOwner {
|
|
|
491
491
|
}
|
|
492
492
|
}
|
|
493
493
|
}
|
|
494
|
-
|
package/src/module.mjs
CHANGED
|
@@ -28,7 +28,7 @@ export * from "./services/influxdb.mjs";
|
|
|
28
28
|
export * from "./services/mosquitto.mjs";
|
|
29
29
|
export * from "./services/headscale.mjs";
|
|
30
30
|
export * from "./services/tailscale.mjs";
|
|
31
|
-
export * from "./services/alpm
|
|
31
|
+
export * from "./services/alpm.mjs";
|
|
32
32
|
export * from "./services/systemd-journald.mjs";
|
|
33
33
|
export * from "./services/systemd-journal-remote.mjs";
|
|
34
34
|
export * from "./services/systemd-journal-upload.mjs";
|
package/src/service.mjs
CHANGED
|
@@ -272,7 +272,7 @@ export class Service extends Base {
|
|
|
272
272
|
|
|
273
273
|
async *preparePackages(dir) {
|
|
274
274
|
const pd = this.packageData;
|
|
275
|
-
pd.sources = this.templateContent();
|
|
275
|
+
pd.sources = await Array.fromAsync(this.templateContent());
|
|
276
276
|
if (pd.sources.length) {
|
|
277
277
|
yield pd;
|
|
278
278
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
addType,
|
|
3
|
+
default_attribute_writable,
|
|
4
|
+
name_attribute_writable,
|
|
5
|
+
string_attribute_writable,
|
|
6
|
+
string_set_attribute_writable
|
|
7
|
+
} from "pacc";
|
|
8
|
+
import { addServiceType, Base } from "pmcf";
|
|
9
|
+
import { ServiceTypeDefinition, Service } from "../service.mjs";
|
|
10
|
+
|
|
11
|
+
const ALPMRepositoryTypeDefinition = {
|
|
12
|
+
name: "alpm_repository",
|
|
13
|
+
extends: Base.typeDefinition,
|
|
14
|
+
attributes: {
|
|
15
|
+
name: name_attribute_writable,
|
|
16
|
+
base: string_attribute_writable,
|
|
17
|
+
architectures: string_set_attribute_writable
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
class ALPMRepository extends Base {
|
|
22
|
+
static {
|
|
23
|
+
addType(this);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
static get typeDefinition() {
|
|
27
|
+
return ALPMRepositoryTypeDefinition;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const ALPMServiceTypeDefinition = {
|
|
32
|
+
name: "alpm",
|
|
33
|
+
extends: ServiceTypeDefinition,
|
|
34
|
+
specializationOf: ServiceTypeDefinition,
|
|
35
|
+
owners: ServiceTypeDefinition.owners,
|
|
36
|
+
attributes: {
|
|
37
|
+
repositories: {
|
|
38
|
+
...default_attribute_writable,
|
|
39
|
+
type: "alpm_repository",
|
|
40
|
+
collection: true
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
service: {
|
|
45
|
+
extends: ["https"]
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export class ALPMService extends Service {
|
|
50
|
+
static {
|
|
51
|
+
addType(this);
|
|
52
|
+
addServiceType(this.typeDefinition.service, this.typeDefinition.name);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static get typeDefinition() {
|
|
56
|
+
return ALPMServiceTypeDefinition;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
_repositories = new Map();
|
|
60
|
+
|
|
61
|
+
set repositories(repository) {
|
|
62
|
+
this._repositories.set(repository.name, repository);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -55,17 +55,19 @@ export class MosquittoService extends Service {
|
|
|
55
55
|
const group = "mosquitto";
|
|
56
56
|
|
|
57
57
|
const packageData = this.packageData;
|
|
58
|
-
packageData.sources =
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
58
|
+
packageData.sources = await Array.fromAsync(
|
|
59
|
+
this.templateContent(
|
|
60
|
+
{
|
|
61
|
+
mode: 0o644,
|
|
62
|
+
owner,
|
|
63
|
+
group
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
mode: 0o755,
|
|
67
|
+
owner,
|
|
68
|
+
group
|
|
69
|
+
}
|
|
70
|
+
)
|
|
69
71
|
);
|
|
70
72
|
|
|
71
73
|
yield packageData;
|
|
@@ -63,17 +63,19 @@ export class OpenLDAPService extends Service {
|
|
|
63
63
|
|
|
64
64
|
const packageData = this.packageData;
|
|
65
65
|
|
|
66
|
-
packageData.sources =
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
66
|
+
packageData.sources = await Array.fromAsync(
|
|
67
|
+
this.templateContent(
|
|
68
|
+
{
|
|
69
|
+
mode: 0o644,
|
|
70
|
+
owner,
|
|
71
|
+
group
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
mode: 0o755,
|
|
75
|
+
owner,
|
|
76
|
+
group
|
|
77
|
+
}
|
|
78
|
+
)
|
|
77
79
|
);
|
|
78
80
|
|
|
79
81
|
yield packageData;
|
package/types/base.d.mts
CHANGED
|
@@ -63,7 +63,12 @@ export class Base {
|
|
|
63
63
|
named(name: any): void;
|
|
64
64
|
typeNamed(typeName: any, name: any): any;
|
|
65
65
|
addObject(object: any): any;
|
|
66
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Walk the object graph in some directions and deliver seen nodes.
|
|
68
|
+
* @param {string[]} directions
|
|
69
|
+
* @return {Iterable<Base>}
|
|
70
|
+
*/
|
|
71
|
+
walkDirections(directions?: string[]): Iterable<Base>;
|
|
67
72
|
_walkDirections(directions: any, withThis: any, seen: any): Generator<any, void, any>;
|
|
68
73
|
forOwner(owner: any): any;
|
|
69
74
|
isNamed(name: any): boolean;
|
|
@@ -128,7 +133,13 @@ export class Base {
|
|
|
128
133
|
get outputs(): Set<typeof import("npm-pkgbuild").DEBIAN | typeof import("npm-pkgbuild").ARCH | typeof import("npm-pkgbuild").OCI | typeof import("npm-pkgbuild").DOCKER>;
|
|
129
134
|
preparePackages(stagingDir: any): AsyncGenerator<never, void, unknown>;
|
|
130
135
|
get templateTransformers(): any[];
|
|
131
|
-
|
|
136
|
+
/**
|
|
137
|
+
*
|
|
138
|
+
* @param {*} entryProperties
|
|
139
|
+
* @param {*} directoryProperties
|
|
140
|
+
* @returns {AsyncIterable<ContentProvider>}
|
|
141
|
+
*/
|
|
142
|
+
templateContent(entryProperties: any, directoryProperties: any): AsyncIterable<ContentProvider>;
|
|
132
143
|
set tags(value: Set<any>);
|
|
133
144
|
get tags(): Set<any>;
|
|
134
145
|
get isTemplate(): any;
|
package/types/host.d.mts
CHANGED
|
@@ -261,7 +261,7 @@ export class Host extends ServiceOwner {
|
|
|
261
261
|
get subnets(): Set<any>;
|
|
262
262
|
publicKey(type?: string): Promise<string>;
|
|
263
263
|
preparePackages(dir: any): AsyncGenerator<{
|
|
264
|
-
sources:
|
|
264
|
+
sources: (FileContentProvider | ContentProvider[])[];
|
|
265
265
|
outputs: Set<typeof import("npm-pkgbuild").DEBIAN | typeof import("npm-pkgbuild").ARCH | typeof import("npm-pkgbuild").OCI | typeof import("npm-pkgbuild").DOCKER>;
|
|
266
266
|
properties: {
|
|
267
267
|
name: string;
|
package/types/module.d.mts
CHANGED
|
@@ -28,7 +28,7 @@ export * from "./services/influxdb.mjs";
|
|
|
28
28
|
export * from "./services/mosquitto.mjs";
|
|
29
29
|
export * from "./services/headscale.mjs";
|
|
30
30
|
export * from "./services/tailscale.mjs";
|
|
31
|
-
export * from "./services/alpm
|
|
31
|
+
export * from "./services/alpm.mjs";
|
|
32
32
|
export * from "./services/systemd-journald.mjs";
|
|
33
33
|
export * from "./services/systemd-journal-remote.mjs";
|
|
34
34
|
export * from "./services/systemd-journal-upload.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export class
|
|
1
|
+
export class ALPMService extends Service {
|
|
2
2
|
static get typeDefinition(): {
|
|
3
3
|
name: string;
|
|
4
4
|
extends: {
|
|
@@ -6,7 +6,7 @@ export class ALPMRepositoryService extends Service {
|
|
|
6
6
|
owners: (string | {
|
|
7
7
|
name: string;
|
|
8
8
|
owners: string[];
|
|
9
|
-
extends: typeof
|
|
9
|
+
extends: typeof Base;
|
|
10
10
|
key: string;
|
|
11
11
|
attributes: {
|
|
12
12
|
networkInterfaces: {
|
|
@@ -203,7 +203,7 @@ export class ALPMRepositoryService extends Service {
|
|
|
203
203
|
address: import("pacc").AttributeDefinition;
|
|
204
204
|
};
|
|
205
205
|
})[];
|
|
206
|
-
extends: typeof
|
|
206
|
+
extends: typeof Base;
|
|
207
207
|
specializations: {};
|
|
208
208
|
factoryFor(owner: any, value: any): any;
|
|
209
209
|
key: string;
|
|
@@ -291,7 +291,7 @@ export class ALPMRepositoryService extends Service {
|
|
|
291
291
|
owners: (string | {
|
|
292
292
|
name: string;
|
|
293
293
|
owners: string[];
|
|
294
|
-
extends: typeof
|
|
294
|
+
extends: typeof Base;
|
|
295
295
|
key: string;
|
|
296
296
|
attributes: {
|
|
297
297
|
networkInterfaces: {
|
|
@@ -488,7 +488,7 @@ export class ALPMRepositoryService extends Service {
|
|
|
488
488
|
address: import("pacc").AttributeDefinition;
|
|
489
489
|
};
|
|
490
490
|
})[];
|
|
491
|
-
extends: typeof
|
|
491
|
+
extends: typeof Base;
|
|
492
492
|
specializations: {};
|
|
493
493
|
factoryFor(owner: any, value: any): any;
|
|
494
494
|
key: string;
|
|
@@ -574,7 +574,7 @@ export class ALPMRepositoryService extends Service {
|
|
|
574
574
|
owners: (string | {
|
|
575
575
|
name: string;
|
|
576
576
|
owners: string[];
|
|
577
|
-
extends: typeof
|
|
577
|
+
extends: typeof Base;
|
|
578
578
|
key: string;
|
|
579
579
|
attributes: {
|
|
580
580
|
networkInterfaces: {
|
|
@@ -773,12 +773,8 @@ export class ALPMRepositoryService extends Service {
|
|
|
773
773
|
})[];
|
|
774
774
|
attributes: {
|
|
775
775
|
repositories: {
|
|
776
|
+
type: string;
|
|
776
777
|
collection: boolean;
|
|
777
|
-
configurable: boolean;
|
|
778
|
-
attributes: {
|
|
779
|
-
name: import("pacc").AttributeDefinition;
|
|
780
|
-
};
|
|
781
|
-
type: object;
|
|
782
778
|
isKey: boolean;
|
|
783
779
|
writable: boolean;
|
|
784
780
|
mandatory: boolean;
|
|
@@ -803,6 +799,8 @@ export class ALPMRepositoryService extends Service {
|
|
|
803
799
|
extends: string[];
|
|
804
800
|
};
|
|
805
801
|
};
|
|
806
|
-
|
|
802
|
+
_repositories: Map<any, any>;
|
|
803
|
+
set repositories(repository: any);
|
|
807
804
|
}
|
|
808
805
|
import { Service } from "../service.mjs";
|
|
806
|
+
import { Base } from "pmcf";
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { addType, object_attribute, string_attribute_writable } from "pacc";
|
|
2
|
-
import { addServiceType } from "pmcf";
|
|
3
|
-
import { ServiceTypeDefinition, Service } from "../service.mjs";
|
|
4
|
-
|
|
5
|
-
const ALPMRepositoryServiceTypeDefinition = {
|
|
6
|
-
name: "alpm-repo",
|
|
7
|
-
extends: ServiceTypeDefinition,
|
|
8
|
-
specializationOf: ServiceTypeDefinition,
|
|
9
|
-
owners: ServiceTypeDefinition.owners,
|
|
10
|
-
attributes: {
|
|
11
|
-
repositories: {
|
|
12
|
-
...object_attribute,
|
|
13
|
-
collection: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
|
|
16
|
-
attributes: {
|
|
17
|
-
name: string_attribute_writable
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
service: {
|
|
23
|
-
extends: ["https"]
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export class ALPMRepositoryService extends Service {
|
|
28
|
-
static {
|
|
29
|
-
addType(this);
|
|
30
|
-
addServiceType(this.typeDefinition.service, this.typeDefinition.name);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
static get typeDefinition() {
|
|
34
|
-
return ALPMRepositoryServiceTypeDefinition;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
repositories = {};
|
|
38
|
-
}
|