@takaro/apiclient 0.0.0-dev.a498dc6

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 (53) hide show
  1. package/README.md +32 -0
  2. package/dist/generated/api.d.ts +21285 -0
  3. package/dist/generated/api.d.ts.map +1 -0
  4. package/dist/generated/api.js +14416 -0
  5. package/dist/generated/api.js.map +1 -0
  6. package/dist/generated/base.d.ts +67 -0
  7. package/dist/generated/base.d.ts.map +1 -0
  8. package/dist/generated/base.js +59 -0
  9. package/dist/generated/base.js.map +1 -0
  10. package/dist/generated/common.d.ts +66 -0
  11. package/dist/generated/common.d.ts.map +1 -0
  12. package/dist/generated/common.js +135 -0
  13. package/dist/generated/common.js.map +1 -0
  14. package/dist/generated/configuration.d.ts +92 -0
  15. package/dist/generated/configuration.d.ts.map +1 -0
  16. package/dist/generated/configuration.js +46 -0
  17. package/dist/generated/configuration.js.map +1 -0
  18. package/dist/generated/index.d.ts +14 -0
  19. package/dist/generated/index.d.ts.map +1 -0
  20. package/dist/generated/index.js +16 -0
  21. package/dist/generated/index.js.map +1 -0
  22. package/dist/lib/adminClient.d.ts +13 -0
  23. package/dist/lib/adminClient.d.ts.map +1 -0
  24. package/dist/lib/adminClient.js +23 -0
  25. package/dist/lib/adminClient.js.map +1 -0
  26. package/dist/lib/baseClient.d.ts +31 -0
  27. package/dist/lib/baseClient.d.ts.map +1 -0
  28. package/dist/lib/baseClient.js +113 -0
  29. package/dist/lib/baseClient.js.map +1 -0
  30. package/dist/lib/client.d.ts +43 -0
  31. package/dist/lib/client.d.ts.map +1 -0
  32. package/dist/lib/client.js +154 -0
  33. package/dist/lib/client.js.map +1 -0
  34. package/dist/main.d.ts +8 -0
  35. package/dist/main.d.ts.map +1 -0
  36. package/dist/main.js +5 -0
  37. package/dist/main.js.map +1 -0
  38. package/package.json +23 -0
  39. package/src/__tests__/main.integration.test.ts +39 -0
  40. package/src/generated/.openapi-generator-ignore +23 -0
  41. package/src/generated/api.ts +32740 -0
  42. package/src/generated/base.ts +91 -0
  43. package/src/generated/common.ts +164 -0
  44. package/src/generated/configuration.ts +123 -0
  45. package/src/generated/git_push.sh +57 -0
  46. package/src/generated/index.ts +16 -0
  47. package/src/lib/adminClient.ts +37 -0
  48. package/src/lib/baseClient.ts +153 -0
  49. package/src/lib/client.ts +308 -0
  50. package/src/main.ts +9 -0
  51. package/tsconfig.build.json +10 -0
  52. package/tsconfig.json +8 -0
  53. package/typedoc.json +3 -0
@@ -0,0 +1,113 @@
1
+ import { MetaApi } from '../generated/api.js';
2
+ import axios from 'axios';
3
+ export class BaseApiClient {
4
+ constructor(config) {
5
+ this.config = config;
6
+ this.log = {
7
+ error: () => { },
8
+ info: () => { },
9
+ warn: () => { },
10
+ debug: () => { },
11
+ };
12
+ const axiosConfig = {
13
+ baseURL: this.config.url,
14
+ headers: {
15
+ 'Content-Type': 'application/json',
16
+ 'User-Agent': 'Takaro-API-Client',
17
+ },
18
+ withCredentials: true,
19
+ };
20
+ this.axios = this.addLoggers(axios.create(axiosConfig));
21
+ if (this.config.log)
22
+ this.log = this.config.log;
23
+ }
24
+ setHeader(key, value) {
25
+ this.axios.defaults.headers.common[key] = value;
26
+ }
27
+ setDomain(domainId) {
28
+ this.axios.defaults.headers.common['X-Takaro-Domain'] = domainId;
29
+ }
30
+ get axiosInstance() {
31
+ return this.axios;
32
+ }
33
+ isJsonMime(mime) {
34
+ return mime === 'application/json';
35
+ }
36
+ addLoggers(axios) {
37
+ if (this.config.log === false) {
38
+ return axios;
39
+ }
40
+ axios.interceptors.request.use((request) => {
41
+ let prettyBody = null;
42
+ if (request.data) {
43
+ try {
44
+ prettyBody = JSON.parse(request.data);
45
+ }
46
+ catch {
47
+ prettyBody = 'Could not parse body';
48
+ }
49
+ }
50
+ this.log.info(`➡️ ${request.method?.toUpperCase()} ${request.url}`, {
51
+ method: request.method,
52
+ url: request.url,
53
+ body: prettyBody ?? undefined,
54
+ });
55
+ return request;
56
+ });
57
+ axios.interceptors.response.use((response) => {
58
+ this.log.info(`⬅️ ${response.request.method?.toUpperCase()} ${response.request.path} ${response.status} ${response.statusText}`, {
59
+ status: response.status,
60
+ statusText: response.statusText,
61
+ method: response.request.method,
62
+ url: response.request.url,
63
+ });
64
+ return response;
65
+ }, (error) => {
66
+ let details = {};
67
+ if (error.response?.data) {
68
+ const data = error.response.data;
69
+ details = JSON.stringify(data.meta);
70
+ }
71
+ this.log.error('☠️ Request errored', {
72
+ traceId: error.response?.headers['x-trace-id'],
73
+ details,
74
+ status: error.response?.status,
75
+ statusText: error.response?.statusText,
76
+ method: error.config?.method,
77
+ url: error.config?.url,
78
+ response: error.response?.data,
79
+ });
80
+ return Promise.reject(error);
81
+ });
82
+ return axios;
83
+ }
84
+ /**
85
+ * Wait until the API reports that it is healthy
86
+ * @param timeout in milliseconds
87
+ */
88
+ async waitUntilHealthy(timeout = 600000) {
89
+ const start = Date.now();
90
+ let isHealthy = false;
91
+ while (!isHealthy) {
92
+ try {
93
+ const { data } = await this.meta.metaGetHealth();
94
+ if (data.healthy) {
95
+ isHealthy = true;
96
+ }
97
+ }
98
+ catch {
99
+ // ignore
100
+ }
101
+ if (Date.now() - start > timeout) {
102
+ throw new Error('API did not become healthy in time');
103
+ }
104
+ await new Promise((resolve) => setTimeout(resolve, 1000));
105
+ }
106
+ }
107
+ get meta() {
108
+ return new MetaApi({
109
+ isJsonMime: this.isJsonMime,
110
+ }, '', this.axios);
111
+ }
112
+ }
113
+ //# sourceMappingURL=baseClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseClient.js","sourceRoot":"","sources":["../../src/lib/baseClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { CronJobApi, FunctionApi, GameServerApi, RoleApi, UserApi, ModuleApi, HookApi, PlayerApi, SettingsApi, CommandApi, VariableApi, DiscordApi, EventApi, PlayerOnGameServerApi, ItemApi, StatsApi, ShopOrderApi, ShopListingApi, ShopCategoryApi, TrackingApi, EntityApi, AnalyticsApi } from '../generated/api.js';
2
+ import { BaseApiClient, IBaseApiClientConfig } from './baseClient.js';
3
+ export interface IApiClientConfig extends IBaseApiClientConfig {
4
+ auth: {
5
+ username?: string;
6
+ password?: string;
7
+ token?: string;
8
+ };
9
+ }
10
+ export declare class Client extends BaseApiClient<IApiClientConfig> {
11
+ token: string | null;
12
+ constructor(config: IApiClientConfig);
13
+ set username(username: string);
14
+ set password(password: string);
15
+ login(): Promise<string>;
16
+ logout(): void;
17
+ permissionCodesToInputs(permissions: string[]): Promise<{
18
+ permissionId: string;
19
+ }[]>;
20
+ get item(): ItemApi;
21
+ get user(): UserApi;
22
+ get role(): RoleApi;
23
+ get gameserver(): GameServerApi;
24
+ get cronjob(): CronJobApi;
25
+ get function(): FunctionApi;
26
+ get module(): ModuleApi;
27
+ get hook(): HookApi;
28
+ get command(): CommandApi;
29
+ get player(): PlayerApi;
30
+ get settings(): SettingsApi;
31
+ get variable(): VariableApi;
32
+ get discord(): DiscordApi;
33
+ get event(): EventApi;
34
+ get playerOnGameserver(): PlayerOnGameServerApi;
35
+ get stats(): StatsApi;
36
+ get shopListing(): ShopListingApi;
37
+ get shopCategory(): ShopCategoryApi;
38
+ get shopOrder(): ShopOrderApi;
39
+ get tracking(): TrackingApi;
40
+ get entity(): EntityApi;
41
+ get analytics(): AnalyticsApi;
42
+ }
43
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,OAAO,EACP,OAAO,EACP,SAAS,EACT,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,SAAS,EACT,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,qBAAa,MAAO,SAAQ,aAAa,CAAC,gBAAgB,CAAC;IAClD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;gBAChB,MAAM,EAAE,gBAAgB;IAQpC,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAE5B;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAE5B;IAEY,KAAK;IAkBX,MAAM;IAIA,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE;;;IAc1D,IAAI,IAAI,YAQP;IAED,IAAI,IAAI,YAQP;IAED,IAAI,IAAI,YAQP;IAED,IAAI,UAAU,kBAQb;IAED,IAAI,OAAO,eAQV;IAED,IAAI,QAAQ,gBAQX;IAED,IAAI,MAAM,cAQT;IAED,IAAI,IAAI,YAQP;IAED,IAAI,OAAO,eAQV;IAED,IAAI,MAAM,cAQT;IAED,IAAI,QAAQ,gBAQX;IAED,IAAI,QAAQ,gBAQX;IAED,IAAI,OAAO,eAQV;IAED,IAAI,KAAK,aAQR;IAED,IAAI,kBAAkB,0BAQrB;IAED,IAAI,KAAK,aAQR;IAED,IAAI,WAAW,mBAQd;IAED,IAAI,YAAY,oBAQf;IAED,IAAI,SAAS,iBAQZ;IAED,IAAI,QAAQ,gBAQX;IAED,IAAI,MAAM,cAQT;IAED,IAAI,SAAS,iBAQZ;CACF"}
@@ -0,0 +1,154 @@
1
+ import { CronJobApi, FunctionApi, GameServerApi, RoleApi, UserApi, ModuleApi, HookApi, PlayerApi, SettingsApi, CommandApi, VariableApi, DiscordApi, EventApi, PlayerOnGameServerApi, ItemApi, StatsApi, ShopOrderApi, ShopListingApi, ShopCategoryApi, TrackingApi, EntityApi, AnalyticsApi, } from '../generated/api.js';
2
+ import { BaseApiClient } from './baseClient.js';
3
+ export class Client extends BaseApiClient {
4
+ constructor(config) {
5
+ super(config);
6
+ if (this.config.auth.token) {
7
+ this.axios.defaults.headers.common['x-takaro-token'] = `${this.config.auth.token}`;
8
+ }
9
+ }
10
+ set username(username) {
11
+ this.config.auth.username = username;
12
+ }
13
+ set password(password) {
14
+ this.config.auth.password = password;
15
+ }
16
+ async login() {
17
+ if (!this.config.auth.username || !this.config.auth.password) {
18
+ throw new Error('No username or password provided');
19
+ }
20
+ const loginRes = await this.user.userControllerLogin({
21
+ password: this.config.auth.password,
22
+ username: this.config.auth.username,
23
+ });
24
+ this.config.auth.token = loginRes.data.data.token;
25
+ this.token = loginRes.data.data.token;
26
+ this.axios.defaults.headers.common['Authorization'] = `Bearer ${loginRes.data.data.token}`;
27
+ return loginRes.data.data.token;
28
+ }
29
+ logout() {
30
+ delete this.axios.defaults.headers.common['Authorization'];
31
+ }
32
+ async permissionCodesToInputs(permissions) {
33
+ const permissionsRes = await this.role.roleControllerGetPermissions();
34
+ const records = permissionsRes.data.data
35
+ .filter((p) => permissions.includes(p.permission))
36
+ .map((p) => ({
37
+ permissionId: p.id,
38
+ }));
39
+ if (records.length !== permissions.length)
40
+ throw new Error(`Not all permissions were found: ${permissions.join(', ')}`);
41
+ return records;
42
+ }
43
+ get item() {
44
+ return new ItemApi({
45
+ isJsonMime: this.isJsonMime,
46
+ }, '', this.axios);
47
+ }
48
+ get user() {
49
+ return new UserApi({
50
+ isJsonMime: this.isJsonMime,
51
+ }, '', this.axios);
52
+ }
53
+ get role() {
54
+ return new RoleApi({
55
+ isJsonMime: this.isJsonMime,
56
+ }, '', this.axios);
57
+ }
58
+ get gameserver() {
59
+ return new GameServerApi({
60
+ isJsonMime: this.isJsonMime,
61
+ }, '', this.axios);
62
+ }
63
+ get cronjob() {
64
+ return new CronJobApi({
65
+ isJsonMime: this.isJsonMime,
66
+ }, '', this.axios);
67
+ }
68
+ get function() {
69
+ return new FunctionApi({
70
+ isJsonMime: this.isJsonMime,
71
+ }, '', this.axios);
72
+ }
73
+ get module() {
74
+ return new ModuleApi({
75
+ isJsonMime: this.isJsonMime,
76
+ }, '', this.axios);
77
+ }
78
+ get hook() {
79
+ return new HookApi({
80
+ isJsonMime: this.isJsonMime,
81
+ }, '', this.axios);
82
+ }
83
+ get command() {
84
+ return new CommandApi({
85
+ isJsonMime: this.isJsonMime,
86
+ }, '', this.axios);
87
+ }
88
+ get player() {
89
+ return new PlayerApi({
90
+ isJsonMime: this.isJsonMime,
91
+ }, '', this.axios);
92
+ }
93
+ get settings() {
94
+ return new SettingsApi({
95
+ isJsonMime: this.isJsonMime,
96
+ }, '', this.axios);
97
+ }
98
+ get variable() {
99
+ return new VariableApi({
100
+ isJsonMime: this.isJsonMime,
101
+ }, '', this.axios);
102
+ }
103
+ get discord() {
104
+ return new DiscordApi({
105
+ isJsonMime: this.isJsonMime,
106
+ }, '', this.axios);
107
+ }
108
+ get event() {
109
+ return new EventApi({
110
+ isJsonMime: this.isJsonMime,
111
+ }, '', this.axios);
112
+ }
113
+ get playerOnGameserver() {
114
+ return new PlayerOnGameServerApi({
115
+ isJsonMime: this.isJsonMime,
116
+ }, '', this.axios);
117
+ }
118
+ get stats() {
119
+ return new StatsApi({
120
+ isJsonMime: this.isJsonMime,
121
+ }, '', this.axios);
122
+ }
123
+ get shopListing() {
124
+ return new ShopListingApi({
125
+ isJsonMime: this.isJsonMime,
126
+ }, '', this.axios);
127
+ }
128
+ get shopCategory() {
129
+ return new ShopCategoryApi({
130
+ isJsonMime: this.isJsonMime,
131
+ }, '', this.axios);
132
+ }
133
+ get shopOrder() {
134
+ return new ShopOrderApi({
135
+ isJsonMime: this.isJsonMime,
136
+ }, '', this.axios);
137
+ }
138
+ get tracking() {
139
+ return new TrackingApi({
140
+ isJsonMime: this.isJsonMime,
141
+ }, '', this.axios);
142
+ }
143
+ get entity() {
144
+ return new EntityApi({
145
+ isJsonMime: this.isJsonMime,
146
+ }, '', this.axios);
147
+ }
148
+ get analytics() {
149
+ return new AnalyticsApi({
150
+ isJsonMime: this.isJsonMime,
151
+ }, '', this.axios);
152
+ }
153
+ }
154
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,OAAO,EACP,OAAO,EACP,SAAS,EACT,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AAUtE,MAAM,OAAO,MAAO,SAAQ,aAA+B;IAEzD,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,QAAgB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ,CAAC,QAAgB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACnD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;YACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAE3F,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,WAAqB;QACxD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI;aACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;aACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,YAAY,EAAE,CAAC,CAAC,EAAE;SACnB,CAAC,CAAC,CAAC;QAEN,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM;YACvC,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE/E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,OAAO,CAChB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,OAAO,CAChB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,OAAO,CAChB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,aAAa,CACtB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,UAAU,CACnB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,WAAW,CACpB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,SAAS,CAClB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,OAAO,CAChB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,UAAU,CACnB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,SAAS,CAClB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,WAAW,CACpB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,WAAW,CACpB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,UAAU,CACnB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,QAAQ,CACjB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,qBAAqB,CAC9B;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,QAAQ,CACjB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,cAAc,CACvB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,eAAe,CACxB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,YAAY,CACrB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,WAAW,CACpB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,SAAS,CAClB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,YAAY,CACrB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,EAAE,EACF,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;CACF"}
package/dist/main.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ import { AxiosResponse } from 'axios';
2
+ export { AxiosResponse } from 'axios';
3
+ export { isAxiosError } from 'axios';
4
+ export { AdminClient } from './lib/adminClient.js';
5
+ export { Client } from './lib/client.js';
6
+ export type ITakaroAPIAxiosResponse<T> = AxiosResponse<T>;
7
+ export * from './generated/api.js';
8
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1D,cAAc,oBAAoB,CAAC"}
package/dist/main.js ADDED
@@ -0,0 +1,5 @@
1
+ export { isAxiosError } from 'axios';
2
+ export { AdminClient } from './lib/adminClient.js';
3
+ export { Client } from './lib/client.js';
4
+ export * from './generated/api.js';
5
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,cAAc,oBAAoB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "@takaro/apiclient",
3
+ "description": "API client for Takaro",
4
+ "version": "0.0.0-dev.a498dc6",
5
+ "author": "",
6
+ "dependencies": {
7
+ "axios": "1.7.7"
8
+ },
9
+ "keywords": [],
10
+ "license": "ISC",
11
+ "main": "dist/main.js",
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org",
14
+ "access": "public"
15
+ },
16
+ "scripts": {
17
+ "build": "tsc -p ./tsconfig.build.json",
18
+ "generate": "../../scripts/generate-api-client.sh",
19
+ "start:dev": ":"
20
+ },
21
+ "type": "module",
22
+ "types": "dist/main.d.ts"
23
+ }
@@ -0,0 +1,39 @@
1
+ import { AdminClient } from '../main.js';
2
+ import { expect, integrationConfig } from '@takaro/test';
3
+ import { describe, it } from 'node:test';
4
+
5
+ const TEST_DOMAIN_NAME = 'apiClient-test';
6
+
7
+ describe('API client', () => {
8
+ const adminClient = new AdminClient({
9
+ url: integrationConfig.get('host'),
10
+ auth: {
11
+ clientSecret: integrationConfig.get('auth.adminClientSecret'),
12
+ },
13
+ });
14
+
15
+ describe('Meta controller', () => {
16
+ it('should get health', async () => {
17
+ const health = await adminClient.meta.metaGetHealth();
18
+ expect(health.data.healthy).to.be.true;
19
+ });
20
+ });
21
+
22
+ describe('Domain controller', () => {
23
+ it('Can create and delete a domain', async () => {
24
+ const domain = await adminClient.domain.domainControllerCreate({
25
+ name: TEST_DOMAIN_NAME,
26
+ });
27
+ expect(domain.data.data.createdDomain.name).to.equal(TEST_DOMAIN_NAME);
28
+
29
+ const domainsRes = await adminClient.domain.domainControllerSearch({
30
+ filters: { name: [TEST_DOMAIN_NAME] },
31
+ });
32
+
33
+ expect(domainsRes.data.data).to.have.lengthOf(1);
34
+ expect(domainsRes.data.data[0].name).to.equal(TEST_DOMAIN_NAME);
35
+
36
+ await adminClient.domain.domainControllerRemove(domain.data.data.createdDomain.id);
37
+ });
38
+ });
39
+ });
@@ -0,0 +1,23 @@
1
+ # OpenAPI Generator Ignore
2
+ # Generated by openapi-generator https://github.com/openapitools/openapi-generator
3
+
4
+ # Use this file to prevent files from being overwritten by the generator.
5
+ # The patterns follow closely to .gitignore or .dockerignore.
6
+
7
+ # As an example, the C# client generator defines ApiClient.cs.
8
+ # You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9
+ #ApiClient.cs
10
+
11
+ # You can match any string of characters against a directory, file or extension with a single asterisk (*):
12
+ #foo/*/qux
13
+ # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14
+
15
+ # You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16
+ #foo/**/qux
17
+ # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18
+
19
+ # You can also negate patterns with an exclamation (!).
20
+ # For example, you can ignore all files in a docs folder with the file extension .md:
21
+ #docs/*.md
22
+ # Then explicitly reverse the ignore rule for a single file:
23
+ #!docs/README.md