@things-factory/operato-codelingua 9.0.0-beta.9 → 9.0.1

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.
@@ -9,55 +9,8 @@ let MenuTools = class MenuTools extends connect(store)(LitElement) {
9
9
  super(...arguments);
10
10
  this.menus = [];
11
11
  }
12
- render() {
13
- this.menus = [
14
- {
15
- name: '진행중',
16
- path: 'git-project-list',
17
- icons: ICONS_PROGRESS
18
- },
19
- {
20
- name: '완료',
21
- path: 'project-completed-list',
22
- icons: ICONS_COMPLETED
23
- },
24
- {
25
- name: '현황',
26
- path: 'dssp-status',
27
- icons: ICONS_STATUS
28
- },
29
- {
30
- name: '공정표',
31
- path: 'project-schedule-list',
32
- icons: ICONS_OPERATING
33
- },
34
- {
35
- name: '셋팅',
36
- path: 'project-setting-list',
37
- icons: ICONS_SETTING
38
- }
39
- ];
40
- var page = this.page || '';
41
- return html `
42
- <ul>
43
- ${this.menus.map(menu => html `
44
- <li>
45
- <a href=${menu.path} ?active=${!!~page.indexOf(menu.path)}>
46
- <img src=${!!~page.indexOf(menu.path) ? menu.icons[1] : menu.icons[0]} />
47
- <div>${menu.name}</div>
48
- </a>
49
- </li>
50
- `)}
51
- </ul>
52
- `;
53
- }
54
- stateChanged(state) {
55
- this.page = state.route.page;
56
- this.width = state.layout.width;
57
- }
58
- };
59
- MenuTools.styles = [
60
- css `
12
+ static { this.styles = [
13
+ css `
61
14
  :host {
62
15
  display: flex;
63
16
  background-color: var(--secondary-color);
@@ -156,7 +109,54 @@ MenuTools.styles = [
156
109
  font-size: 0.6em;
157
110
  }
158
111
  `
159
- ];
112
+ ]; }
113
+ render() {
114
+ this.menus = [
115
+ {
116
+ name: '진행중',
117
+ path: 'git-project-list',
118
+ icons: ICONS_PROGRESS
119
+ },
120
+ {
121
+ name: '완료',
122
+ path: 'project-completed-list',
123
+ icons: ICONS_COMPLETED
124
+ },
125
+ {
126
+ name: '현황',
127
+ path: 'dssp-status',
128
+ icons: ICONS_STATUS
129
+ },
130
+ {
131
+ name: '공정표',
132
+ path: 'project-schedule-list',
133
+ icons: ICONS_OPERATING
134
+ },
135
+ {
136
+ name: '셋팅',
137
+ path: 'project-setting-list',
138
+ icons: ICONS_SETTING
139
+ }
140
+ ];
141
+ var page = this.page || '';
142
+ return html `
143
+ <ul>
144
+ ${this.menus.map(menu => html `
145
+ <li>
146
+ <a href=${menu.path} ?active=${!!~page.indexOf(menu.path)}>
147
+ <img src=${!!~page.indexOf(menu.path) ? menu.icons[1] : menu.icons[0]} />
148
+ <div>${menu.name}</div>
149
+ </a>
150
+ </li>
151
+ `)}
152
+ </ul>
153
+ `;
154
+ }
155
+ stateChanged(state) {
156
+ this.page = state.route.page;
157
+ this.width = state.layout.width;
158
+ }
159
+ };
160
160
  __decorate([
161
161
  property({ type: String }),
162
162
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":"menu-tools.js","sourceRoot":"","sources":["../../client/viewparts/menu-tools.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAG5G,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;IAAlD;;QA0GG,UAAK,GAAsD,EAAE,CAAA;IAqDvE,CAAC;IAnDC,MAAM;QACJ,IAAI,CAAC,KAAK,GAAG;YACX;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,aAAa;aACrB;SACF,CAAA;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAE1B,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,KAAK,CAAC,GAAG,CACd,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA;;wBAEE,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;2BAC5C,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;uBAC9D,IAAI,CAAC,IAAI;;;WAGrB,CACF;;KAEJ,CAAA;IACH,CAAC;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;IACjC,CAAC;;AA7JM,gBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkGF;CACF,AApGY,CAoGZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCAAc;AACE;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wCAAe;AAxG9C,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS,CA+JrB","sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { connect } from 'pwa-helpers'\n\nimport { store } from '@operato/shell'\n\nimport { ICONS_PROGRESS, ICONS_COMPLETED, ICONS_STATUS, ICONS_OPERATING, ICONS_SETTING } from '../icons/menu-icons'\n\n@customElement('menu-tools')\nexport class MenuTools extends connect(store)(LitElement) {\n static styles = [\n css`\n :host {\n display: flex;\n background-color: var(--secondary-color);\n\n /* for narrow mode */\n flex-direction: column;\n width: 100%;\n --menu-tools-color: rgba(255, 255, 255, 0.9);\n --menu-tools-active-color: rgba(107, 178, 249, 1);\n }\n\n :host([width='WIDE']) {\n /* for wide mode */\n flex-direction: row;\n width: initial;\n height: 100%;\n }\n\n ul {\n display: flex;\n flex-direction: row;\n\n margin: auto;\n padding: 0;\n list-style: none;\n height: 100%;\n overflow: none;\n }\n\n :host([width='NARROW']) ul {\n width: 100%;\n justify-content: space-around;\n }\n\n :host([width='WIDE']) ul {\n flex-direction: column;\n }\n :host([width='NARROW']) li {\n flex: 1;\n }\n\n :host([width='WIDE']) li {\n border-top: 1px solid rgba(255, 255, 255, 0.1);\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n }\n\n a {\n display: flex;\n flex-direction: column;\n padding: 5px 0px;\n opacity: 0.7;\n align-items: center;\n text-align: center;\n text-decoration: none;\n text-transform: capitalize;\n color: var(--menu-tools-color);\n border-left: 2px solid transparent;\n }\n\n a[active] {\n opacity: 1;\n color: var(--menu-tools-active-color);\n font-weight: bold;\n background-color: rgba(0, 0, 0, 0.15);\n border-left: 2px solid var(--menu-tools-active-color);\n }\n\n :host([width='NARROW']) a {\n padding: 0px 0px 5px 0px;\n opacity: 0.8;\n color: var(--menu-tools-color);\n border-left: none;\n border-top: 2px solid transparent;\n }\n\n :host([width='NARROW']) a[active] {\n opacity: 1;\n color: var(--menu-tools-active-color);\n font-weight: bold;\n background-color: rgba(0, 0, 0, 0.15);\n border-left: none;\n border-top: 2px solid var(--menu-tools-active-color);\n }\n\n img {\n display: block;\n width: 35px;\n padding: 5px 10px 0px 10px;\n }\n\n :host([width='NARROW']) img {\n padding: 0;\n }\n\n div {\n font-size: 0.6em;\n }\n `\n ]\n\n @property({ type: String }) page?: string\n @property({ type: String, reflect: true }) width?: string\n\n private menus: { name: string; path: string; icons: string[] }[] = []\n\n render() {\n this.menus = [\n {\n name: '진행중',\n path: 'git-project-list',\n icons: ICONS_PROGRESS\n },\n {\n name: '완료',\n path: 'project-completed-list',\n icons: ICONS_COMPLETED\n },\n {\n name: '현황',\n path: 'dssp-status',\n icons: ICONS_STATUS\n },\n {\n name: '공정표',\n path: 'project-schedule-list',\n icons: ICONS_OPERATING\n },\n {\n name: '셋팅',\n path: 'project-setting-list',\n icons: ICONS_SETTING\n }\n ]\n\n var page = this.page || ''\n\n return html`\n <ul>\n ${this.menus.map(\n menu => html`\n <li>\n <a href=${menu.path} ?active=${!!~page.indexOf(menu.path)}>\n <img src=${!!~page.indexOf(menu.path) ? menu.icons[1] : menu.icons[0]} />\n <div>${menu.name}</div>\n </a>\n </li>\n `\n )}\n </ul>\n `\n }\n\n stateChanged(state) {\n this.page = state.route.page\n this.width = state.layout.width\n }\n}\n"]}
1
+ {"version":3,"file":"menu-tools.js","sourceRoot":"","sources":["../../client/viewparts/menu-tools.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAG5G,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;IAAlD;;QA0GG,UAAK,GAAsD,EAAE,CAAA;IAqDvE,CAAC;aA9JQ,WAAM,GAAG;QACd,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkGF;KACF,AApGY,CAoGZ;IAOD,MAAM;QACJ,IAAI,CAAC,KAAK,GAAG;YACX;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,aAAa;aACrB;SACF,CAAA;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAE1B,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,KAAK,CAAC,GAAG,CACd,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA;;wBAEE,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;2BAC5C,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;uBAC9D,IAAI,CAAC,IAAI;;;WAGrB,CACF;;KAEJ,CAAA;IACH,CAAC;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;IACjC,CAAC;;AAvD2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCAAc;AACE;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wCAAe;AAxG9C,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS,CA+JrB","sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { connect } from 'pwa-helpers'\n\nimport { store } from '@operato/shell'\n\nimport { ICONS_PROGRESS, ICONS_COMPLETED, ICONS_STATUS, ICONS_OPERATING, ICONS_SETTING } from '../icons/menu-icons'\n\n@customElement('menu-tools')\nexport class MenuTools extends connect(store)(LitElement) {\n static styles = [\n css`\n :host {\n display: flex;\n background-color: var(--secondary-color);\n\n /* for narrow mode */\n flex-direction: column;\n width: 100%;\n --menu-tools-color: rgba(255, 255, 255, 0.9);\n --menu-tools-active-color: rgba(107, 178, 249, 1);\n }\n\n :host([width='WIDE']) {\n /* for wide mode */\n flex-direction: row;\n width: initial;\n height: 100%;\n }\n\n ul {\n display: flex;\n flex-direction: row;\n\n margin: auto;\n padding: 0;\n list-style: none;\n height: 100%;\n overflow: none;\n }\n\n :host([width='NARROW']) ul {\n width: 100%;\n justify-content: space-around;\n }\n\n :host([width='WIDE']) ul {\n flex-direction: column;\n }\n :host([width='NARROW']) li {\n flex: 1;\n }\n\n :host([width='WIDE']) li {\n border-top: 1px solid rgba(255, 255, 255, 0.1);\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n }\n\n a {\n display: flex;\n flex-direction: column;\n padding: 5px 0px;\n opacity: 0.7;\n align-items: center;\n text-align: center;\n text-decoration: none;\n text-transform: capitalize;\n color: var(--menu-tools-color);\n border-left: 2px solid transparent;\n }\n\n a[active] {\n opacity: 1;\n color: var(--menu-tools-active-color);\n font-weight: bold;\n background-color: rgba(0, 0, 0, 0.15);\n border-left: 2px solid var(--menu-tools-active-color);\n }\n\n :host([width='NARROW']) a {\n padding: 0px 0px 5px 0px;\n opacity: 0.8;\n color: var(--menu-tools-color);\n border-left: none;\n border-top: 2px solid transparent;\n }\n\n :host([width='NARROW']) a[active] {\n opacity: 1;\n color: var(--menu-tools-active-color);\n font-weight: bold;\n background-color: rgba(0, 0, 0, 0.15);\n border-left: none;\n border-top: 2px solid var(--menu-tools-active-color);\n }\n\n img {\n display: block;\n width: 35px;\n padding: 5px 10px 0px 10px;\n }\n\n :host([width='NARROW']) img {\n padding: 0;\n }\n\n div {\n font-size: 0.6em;\n }\n `\n ]\n\n @property({ type: String }) page?: string\n @property({ type: String, reflect: true }) width?: string\n\n private menus: { name: string; path: string; icons: string[] }[] = []\n\n render() {\n this.menus = [\n {\n name: '진행중',\n path: 'git-project-list',\n icons: ICONS_PROGRESS\n },\n {\n name: '완료',\n path: 'project-completed-list',\n icons: ICONS_COMPLETED\n },\n {\n name: '현황',\n path: 'dssp-status',\n icons: ICONS_STATUS\n },\n {\n name: '공정표',\n path: 'project-schedule-list',\n icons: ICONS_OPERATING\n },\n {\n name: '셋팅',\n path: 'project-setting-list',\n icons: ICONS_SETTING\n }\n ]\n\n var page = this.page || ''\n\n return html`\n <ul>\n ${this.menus.map(\n menu => html`\n <li>\n <a href=${menu.path} ?active=${!!~page.indexOf(menu.path)}>\n <img src=${!!~page.indexOf(menu.path) ? menu.icons[1] : menu.icons[0]} />\n <div>${menu.name}</div>\n </a>\n </li>\n `\n )}\n </ul>\n `\n }\n\n stateChanged(state) {\n this.page = state.route.page\n this.width = state.layout.width\n }\n}\n"]}
@@ -3,12 +3,8 @@ import { LitElement, html, css } from 'lit';
3
3
  import { customElement } from 'lit/decorators.js';
4
4
  const userIcon = new URL('../../assets/images/user.png', import.meta.url).href;
5
5
  let UserCircle = class UserCircle extends LitElement {
6
- render() {
7
- return html ` <img src=${userIcon} class="user" /> `;
8
- }
9
- };
10
- UserCircle.styles = [
11
- css `
6
+ static { this.styles = [
7
+ css `
12
8
  img {
13
9
  display: block;
14
10
  width: 36px;
@@ -18,7 +14,11 @@ UserCircle.styles = [
18
14
  object-fit: cover;
19
15
  }
20
16
  `
21
- ];
17
+ ]; }
18
+ render() {
19
+ return html ` <img src=${userIcon} class="user" /> `;
20
+ }
21
+ };
22
22
  UserCircle = __decorate([
23
23
  customElement('user-circle')
24
24
  ], UserCircle);
@@ -1 +1 @@
1
- {"version":3,"file":"user-circle.js","sourceRoot":"","sources":["../../client/viewparts/user-circle.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAGvE,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAcxC,MAAM;QACJ,OAAO,IAAI,CAAA,aAAa,QAAQ,mBAAmB,CAAA;IACrD,CAAC;;AAfM,iBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;KASF;CACF,AAXY,CAWZ;AAZU,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAiBtB","sourcesContent":["import { LitElement, html, css } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\nconst userIcon = new URL('../../assets/images/user.png', import.meta.url).href\n\n@customElement('user-circle')\nexport class UserCircle extends LitElement {\n static styles = [\n css`\n img {\n display: block;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n\n object-fit: cover;\n }\n `\n ]\n\n render() {\n return html` <img src=${userIcon} class=\"user\" /> `\n }\n}\n"]}
1
+ {"version":3,"file":"user-circle.js","sourceRoot":"","sources":["../../client/viewparts/user-circle.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAGvE,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;aACjC,WAAM,GAAG;QACd,GAAG,CAAA;;;;;;;;;KASF;KACF,AAXY,CAWZ;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,aAAa,QAAQ,mBAAmB,CAAA;IACrD,CAAC;;AAhBU,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAiBtB","sourcesContent":["import { LitElement, html, css } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\nconst userIcon = new URL('../../assets/images/user.png', import.meta.url).href\n\n@customElement('user-circle')\nexport class UserCircle extends LitElement {\n static styles = [\n css`\n img {\n display: block;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n\n object-fit: cover;\n }\n `\n ]\n\n render() {\n return html` <img src=${userIcon} class=\"user\" /> `\n }\n}\n"]}
@@ -34,7 +34,11 @@ const webhookExists = async (repoFullName, webhookUrl, token) => {
34
34
  };
35
35
  const postGitHubComment = async (repoFullName, commitId, comment) => {
36
36
  try {
37
- const response = await (0, node_fetch_1.default)(`${GITHUB_API_URL}/repos/${repoFullName}/commits/${commitId}/comments`, Object.assign(Object.assign({ method: 'POST' }, fetchOptions(process.env.GITHUB_API_KEY)), { body: JSON.stringify({ body: comment }) }));
37
+ const response = await (0, node_fetch_1.default)(`${GITHUB_API_URL}/repos/${repoFullName}/commits/${commitId}/comments`, {
38
+ method: 'POST',
39
+ ...fetchOptions(process.env.GITHUB_API_KEY),
40
+ body: JSON.stringify({ body: comment })
41
+ });
38
42
  handleFetchError(response, 'post GitHub comment');
39
43
  }
40
44
  catch (error) {
@@ -49,7 +53,10 @@ const registerWebhook = async (accessToken, repoFullName, webhookUrl) => {
49
53
  return;
50
54
  }
51
55
  try {
52
- const response = await (0, node_fetch_1.default)(`${GITHUB_API_URL}/repos/${repoFullName}/hooks`, Object.assign(Object.assign({ method: 'POST' }, fetchOptions(accessToken)), { body: JSON.stringify({
56
+ const response = await (0, node_fetch_1.default)(`${GITHUB_API_URL}/repos/${repoFullName}/hooks`, {
57
+ method: 'POST',
58
+ ...fetchOptions(accessToken),
59
+ body: JSON.stringify({
53
60
  name: 'web',
54
61
  active: true,
55
62
  events: ['push'],
@@ -57,7 +64,8 @@ const registerWebhook = async (accessToken, repoFullName, webhookUrl) => {
57
64
  url: webhookUrl,
58
65
  content_type: 'json'
59
66
  }
60
- }) }));
67
+ })
68
+ });
61
69
  handleFetchError(response, 'register webhook');
62
70
  console.log('Webhook registered successfully.');
63
71
  }
@@ -73,7 +81,10 @@ const unregisterWebhook = async (accessToken, repoFullName, webhookUrl) => {
73
81
  return;
74
82
  }
75
83
  try {
76
- const deleteResponse = await (0, node_fetch_1.default)(`${GITHUB_API_URL}/repos/${repoFullName}/hooks/${id}`, Object.assign({ method: 'DELETE' }, fetchOptions(accessToken)));
84
+ const deleteResponse = await (0, node_fetch_1.default)(`${GITHUB_API_URL}/repos/${repoFullName}/hooks/${id}`, {
85
+ method: 'DELETE',
86
+ ...fetchOptions(accessToken)
87
+ });
77
88
  handleFetchError(deleteResponse, 'unregister webhook');
78
89
  console.log('Webhook unregistered successfully.');
79
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"github-controller.js","sourceRoot":"","sources":["../../server/controllers/github-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch, { Response } from 'node-fetch'\n\nconst GITHUB_API_URL = 'https://api.github.com'\n\nconst fetchOptions = (token: string) => ({\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `token ${token}`\n }\n})\n\nconst handleFetchError = (response: Response, action: string) => {\n if (!response.ok) {\n console.error(`Failed to ${action}:`, response.statusText)\n throw new Error(`Failed to ${action}`)\n }\n}\n\nconst getWebhooks = async (repoFullName: string, token: string): Promise<any[]> => {\n const response: Response = await fetch(`${GITHUB_API_URL}/repos/${repoFullName}/hooks`, fetchOptions(token))\n handleFetchError(response, 'fetch webhooks')\n return response.json()\n}\n\nconst webhookExists = async (\n repoFullName: string,\n webhookUrl: string,\n token: string\n): Promise<{ exists: boolean; id?: number }> => {\n try {\n const hooks: any[] = await getWebhooks(repoFullName, token)\n const hook = hooks.find((hook: any) => hook.config.url === webhookUrl)\n return hook ? { exists: true, id: hook.id } : { exists: false }\n } catch (error) {\n console.error('Error checking webhook existence:', error)\n return { exists: false }\n }\n}\n\nexport const postGitHubComment = async (repoFullName: string, commitId: string, comment: string): Promise<void> => {\n try {\n const response: Response = await fetch(`${GITHUB_API_URL}/repos/${repoFullName}/commits/${commitId}/comments`, {\n method: 'POST',\n ...fetchOptions(process.env.GITHUB_API_KEY!),\n body: JSON.stringify({ body: comment })\n })\n handleFetchError(response, 'post GitHub comment')\n } catch (error) {\n console.error('Error posting GitHub comment:', error)\n }\n}\n\nexport const registerWebhook = async (accessToken: string, repoFullName: string, webhookUrl: string) => {\n const { exists } = await webhookExists(repoFullName, webhookUrl, accessToken)\n if (exists) {\n console.log('Webhook already registered.')\n return\n }\n\n try {\n const response: Response = await fetch(`${GITHUB_API_URL}/repos/${repoFullName}/hooks`, {\n method: 'POST',\n ...fetchOptions(accessToken),\n body: JSON.stringify({\n name: 'web',\n active: true,\n events: ['push'],\n config: {\n url: webhookUrl,\n content_type: 'json'\n }\n })\n })\n handleFetchError(response, 'register webhook')\n console.log('Webhook registered successfully.')\n } catch (error) {\n console.error('Error registering webhook:', error)\n }\n}\n\nexport const unregisterWebhook = async (accessToken: string, repoFullName: string, webhookUrl: string) => {\n const { exists, id } = await webhookExists(repoFullName, webhookUrl, accessToken)\n if (!exists || !id) {\n console.log('Webhook not found.')\n return\n }\n\n try {\n const deleteResponse: Response = await fetch(`${GITHUB_API_URL}/repos/${repoFullName}/hooks/${id}`, {\n method: 'DELETE',\n ...fetchOptions(accessToken)\n })\n handleFetchError(deleteResponse, 'unregister webhook')\n console.log('Webhook unregistered successfully.')\n } catch (error) {\n console.error('Error unregistering webhook:', error)\n }\n}\n"]}
1
+ {"version":3,"file":"github-controller.js","sourceRoot":"","sources":["../../server/controllers/github-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch, { Response } from 'node-fetch'\n\nconst GITHUB_API_URL = 'https://api.github.com'\n\nconst fetchOptions = (token: string) => ({\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `token ${token}`\n }\n})\n\nconst handleFetchError = (response: Response, action: string) => {\n if (!response.ok) {\n console.error(`Failed to ${action}:`, response.statusText)\n throw new Error(`Failed to ${action}`)\n }\n}\n\nconst getWebhooks = async (repoFullName: string, token: string): Promise<any[]> => {\n const response: Response = await fetch(`${GITHUB_API_URL}/repos/${repoFullName}/hooks`, fetchOptions(token))\n handleFetchError(response, 'fetch webhooks')\n return response.json()\n}\n\nconst webhookExists = async (\n repoFullName: string,\n webhookUrl: string,\n token: string\n): Promise<{ exists: boolean; id?: number }> => {\n try {\n const hooks: any[] = await getWebhooks(repoFullName, token)\n const hook = hooks.find((hook: any) => hook.config.url === webhookUrl)\n return hook ? { exists: true, id: hook.id } : { exists: false }\n } catch (error) {\n console.error('Error checking webhook existence:', error)\n return { exists: false }\n }\n}\n\nexport const postGitHubComment = async (repoFullName: string, commitId: string, comment: string): Promise<void> => {\n try {\n const response: Response = await fetch(`${GITHUB_API_URL}/repos/${repoFullName}/commits/${commitId}/comments`, {\n method: 'POST',\n ...fetchOptions(process.env.GITHUB_API_KEY!),\n body: JSON.stringify({ body: comment })\n })\n handleFetchError(response, 'post GitHub comment')\n } catch (error) {\n console.error('Error posting GitHub comment:', error)\n }\n}\n\nexport const registerWebhook = async (accessToken: string, repoFullName: string, webhookUrl: string) => {\n const { exists } = await webhookExists(repoFullName, webhookUrl, accessToken)\n if (exists) {\n console.log('Webhook already registered.')\n return\n }\n\n try {\n const response: Response = await fetch(`${GITHUB_API_URL}/repos/${repoFullName}/hooks`, {\n method: 'POST',\n ...fetchOptions(accessToken),\n body: JSON.stringify({\n name: 'web',\n active: true,\n events: ['push'],\n config: {\n url: webhookUrl,\n content_type: 'json'\n }\n })\n })\n handleFetchError(response, 'register webhook')\n console.log('Webhook registered successfully.')\n } catch (error) {\n console.error('Error registering webhook:', error)\n }\n}\n\nexport const unregisterWebhook = async (accessToken: string, repoFullName: string, webhookUrl: string) => {\n const { exists, id } = await webhookExists(repoFullName, webhookUrl, accessToken)\n if (!exists || !id) {\n console.log('Webhook not found.')\n return\n }\n\n try {\n const deleteResponse: Response = await fetch(`${GITHUB_API_URL}/repos/${repoFullName}/hooks/${id}`, {\n method: 'DELETE',\n ...fetchOptions(accessToken)\n })\n handleFetchError(deleteResponse, 'unregister webhook')\n console.log('Webhook unregistered successfully.')\n } catch (error) {\n console.error('Error unregistering webhook:', error)\n }\n}\n"]}
@@ -10,7 +10,12 @@ const github_controller_1 = require("../../controllers/github-controller");
10
10
  let GitProjectMutation = class GitProjectMutation {
11
11
  async createGitProject(gitProject, context) {
12
12
  const { domain, user, tx } = context.state;
13
- const result = await tx.getRepository(git_project_1.GitProject).save(Object.assign(Object.assign({}, gitProject), { domain, creator: user, updater: user }));
13
+ const result = await tx.getRepository(git_project_1.GitProject).save({
14
+ ...gitProject,
15
+ domain,
16
+ creator: user,
17
+ updater: user
18
+ });
14
19
  return result;
15
20
  }
16
21
  async updateGitProject(id, patch, context) {
@@ -19,7 +24,11 @@ let GitProjectMutation = class GitProjectMutation {
19
24
  const gitProject = await repository.findOne({
20
25
  where: { domain: { id: domain.id }, id }
21
26
  });
22
- const result = await repository.save(Object.assign(Object.assign(Object.assign({}, gitProject), patch), { updater: user }));
27
+ const result = await repository.save({
28
+ ...gitProject,
29
+ ...patch,
30
+ updater: user
31
+ });
23
32
  return result;
24
33
  }
25
34
  async updateMultipleGitProject(patches, context) {
@@ -31,16 +40,25 @@ let GitProjectMutation = class GitProjectMutation {
31
40
  if (_createRecords.length > 0) {
32
41
  for (let i = 0; i < _createRecords.length; i++) {
33
42
  const newRecord = _createRecords[i];
34
- const result = await gitProjectRepo.save(Object.assign(Object.assign({}, newRecord), { domain, creator: user, updater: user }));
35
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
43
+ const result = await gitProjectRepo.save({
44
+ ...newRecord,
45
+ domain,
46
+ creator: user,
47
+ updater: user
48
+ });
49
+ results.push({ ...result, cuFlag: '+' });
36
50
  }
37
51
  }
38
52
  if (_updateRecords.length > 0) {
39
53
  for (let i = 0; i < _updateRecords.length; i++) {
40
54
  const updateRecord = _updateRecords[i];
41
55
  const gitProject = await gitProjectRepo.findOneBy({ id: updateRecord.id });
42
- const result = await gitProjectRepo.save(Object.assign(Object.assign(Object.assign({}, gitProject), updateRecord), { updater: user }));
43
- results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
56
+ const result = await gitProjectRepo.save({
57
+ ...gitProject,
58
+ ...updateRecord,
59
+ updater: user
60
+ });
61
+ results.push({ ...result, cuFlag: 'M' });
44
62
  }
45
63
  }
46
64
  return results;
@@ -61,7 +79,7 @@ let GitProjectMutation = class GitProjectMutation {
61
79
  async importGitProjects(gitProjects, context) {
62
80
  const { domain, tx } = context.state;
63
81
  await Promise.all(gitProjects.map(async (gitProject) => {
64
- const createdGitProject = await tx.getRepository(git_project_1.GitProject).save(Object.assign({ domain }, gitProject));
82
+ const createdGitProject = await tx.getRepository(git_project_1.GitProject).save({ domain, ...gitProject });
65
83
  }));
66
84
  return true;
67
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"git-project-mutation.js","sourceRoot":"","sources":["../../../server/service/git-project/git-project-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { GitProject, GitProjectStatus } from './git-project'\nimport { NewGitProject, GitProjectPatch } from './git-project-type'\nimport { registerWebhook, unregisterWebhook } from '../../controllers/github-controller'\n\n@Resolver(GitProject)\nexport class GitProjectMutation {\n @Directive('@transaction')\n @Mutation(returns => GitProject, { description: 'To create new GitProject' })\n async createGitProject(\n @Arg('gitProject') gitProject: NewGitProject,\n @Ctx() context: ResolverContext\n ): Promise<GitProject> {\n const { domain, user, tx } = context.state\n\n const result = await tx.getRepository(GitProject).save({\n ...gitProject,\n domain,\n creator: user,\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => GitProject, { description: 'To modify GitProject information' })\n async updateGitProject(\n @Arg('id') id: string,\n @Arg('patch') patch: GitProjectPatch,\n @Ctx() context: ResolverContext\n ): Promise<GitProject> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(GitProject)\n const gitProject = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...gitProject,\n ...patch,\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => [GitProject], { description: \"To modify multiple GitProjects' information\" })\n async updateMultipleGitProject(\n @Arg('patches', type => [GitProjectPatch]) patches: GitProjectPatch[],\n @Ctx() context: ResolverContext\n ): Promise<GitProject[]> {\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 gitProjectRepo = tx.getRepository(GitProject)\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 gitProjectRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\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 gitProject = await gitProjectRepo.findOneBy({ id: updateRecord.id })\n\n const result = await gitProjectRepo.save({\n ...gitProject,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete GitProject' })\n async deleteGitProject(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(GitProject).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple GitProjects' })\n async deleteGitProjects(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(GitProject).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple GitProjects' })\n async importGitProjects(\n @Arg('gitProjects', type => [GitProjectPatch]) gitProjects: GitProjectPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n gitProjects.map(async (gitProject: GitProjectPatch) => {\n const createdGitProject: GitProject = await tx.getRepository(GitProject).save({ domain, ...gitProject })\n })\n )\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To register GitHub webhook' })\n async registerGithubWebhook(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n const repository = tx.getRepository(GitProject)\n const gitProject = await repository.findOne({ where: { domain: { id: domain.id }, id } })\n\n if (!gitProject) {\n throw new Error('GitProject not found')\n }\n\n const webhook = await registerWebhook(gitProject.apiKey, gitProject.name, gitProject.webhookUrl)\n\n gitProject.state = GitProjectStatus.REGISTERED\n await repository.save(gitProject)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To unregister GitHub webhook' })\n async unregisterGithubWebhook(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n const repository = tx.getRepository(GitProject)\n const gitProject = await repository.findOne({ where: { domain: { id: domain.id }, id } })\n\n if (!gitProject) {\n throw new Error('GitProject not found')\n }\n\n await unregisterWebhook(gitProject.apiKey, gitProject.name, gitProject.webhookUrl)\n\n gitProject.state = GitProjectStatus.READY\n await repository.save(gitProject)\n\n return true\n }\n}\n"]}
1
+ {"version":3,"file":"git-project-mutation.js","sourceRoot":"","sources":["../../../server/service/git-project/git-project-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { GitProject, GitProjectStatus } from './git-project'\nimport { NewGitProject, GitProjectPatch } from './git-project-type'\nimport { registerWebhook, unregisterWebhook } from '../../controllers/github-controller'\n\n@Resolver(GitProject)\nexport class GitProjectMutation {\n @Directive('@transaction')\n @Mutation(returns => GitProject, { description: 'To create new GitProject' })\n async createGitProject(\n @Arg('gitProject') gitProject: NewGitProject,\n @Ctx() context: ResolverContext\n ): Promise<GitProject> {\n const { domain, user, tx } = context.state\n\n const result = await tx.getRepository(GitProject).save({\n ...gitProject,\n domain,\n creator: user,\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => GitProject, { description: 'To modify GitProject information' })\n async updateGitProject(\n @Arg('id') id: string,\n @Arg('patch') patch: GitProjectPatch,\n @Ctx() context: ResolverContext\n ): Promise<GitProject> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(GitProject)\n const gitProject = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...gitProject,\n ...patch,\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => [GitProject], { description: \"To modify multiple GitProjects' information\" })\n async updateMultipleGitProject(\n @Arg('patches', type => [GitProjectPatch]) patches: GitProjectPatch[],\n @Ctx() context: ResolverContext\n ): Promise<GitProject[]> {\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 gitProjectRepo = tx.getRepository(GitProject)\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 gitProjectRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\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 gitProject = await gitProjectRepo.findOneBy({ id: updateRecord.id })\n\n const result = await gitProjectRepo.save({\n ...gitProject,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete GitProject' })\n async deleteGitProject(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(GitProject).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple GitProjects' })\n async deleteGitProjects(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(GitProject).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple GitProjects' })\n async importGitProjects(\n @Arg('gitProjects', type => [GitProjectPatch]) gitProjects: GitProjectPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n gitProjects.map(async (gitProject: GitProjectPatch) => {\n const createdGitProject: GitProject = await tx.getRepository(GitProject).save({ domain, ...gitProject })\n })\n )\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To register GitHub webhook' })\n async registerGithubWebhook(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n const repository = tx.getRepository(GitProject)\n const gitProject = await repository.findOne({ where: { domain: { id: domain.id }, id } })\n\n if (!gitProject) {\n throw new Error('GitProject not found')\n }\n\n const webhook = await registerWebhook(gitProject.apiKey, gitProject.name, gitProject.webhookUrl)\n\n gitProject.state = GitProjectStatus.REGISTERED\n await repository.save(gitProject)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To unregister GitHub webhook' })\n async unregisterGithubWebhook(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n const repository = tx.getRepository(GitProject)\n const gitProject = await repository.findOne({ where: { domain: { id: domain.id }, id } })\n\n if (!gitProject) {\n throw new Error('GitProject not found')\n }\n\n await unregisterWebhook(gitProject.apiKey, gitProject.name, gitProject.webhookUrl)\n\n gitProject.state = GitProjectStatus.READY\n await repository.save(gitProject)\n\n return true\n }\n}\n"]}