@fc3/mmcadi 0.1.20 → 0.1.22

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 (205) hide show
  1. package/bin/lint +12 -0
  2. package/bin/test-one +32 -0
  3. package/dist/.last-compile-time +1 -1
  4. package/dist/.last-publish-time +1 -1
  5. package/dist/client.js +11 -1
  6. package/dist/src/client/enum/page-type.d.ts +2 -1
  7. package/dist/src/client/enum/page-type.js +1 -0
  8. package/dist/src/client/enum/page-type.js.map +1 -1
  9. package/dist/src/client/factory/page.js +3 -1
  10. package/dist/src/client/factory/page.js.map +1 -1
  11. package/dist/src/client/page/role.d.ts +5 -0
  12. package/dist/src/client/page/role.js +12 -0
  13. package/dist/src/client/page/role.js.map +1 -0
  14. package/dist/src/common/builder/block/folder.d.ts +2 -1
  15. package/dist/src/common/builder/block/folder.js.map +1 -1
  16. package/dist/src/common/builder/block/header.d.ts +5 -1
  17. package/dist/src/common/builder/block/header.js +16 -2
  18. package/dist/src/common/builder/block/header.js.map +1 -1
  19. package/dist/src/common/builder/block/parameter.d.ts +3 -0
  20. package/dist/src/common/builder/block/parameter.js +19 -0
  21. package/dist/src/common/builder/block/parameter.js.map +1 -0
  22. package/dist/src/constant/role/creator.d.ts +3 -0
  23. package/dist/src/constant/role/creator.js +17 -0
  24. package/dist/src/constant/role/creator.js.map +1 -0
  25. package/dist/src/constant/role/public.d.ts +3 -0
  26. package/dist/src/constant/role/public.js +17 -0
  27. package/dist/src/constant/role/public.js.map +1 -0
  28. package/dist/src/constant/role/unknown.d.ts +3 -0
  29. package/dist/src/constant/role/unknown.js +17 -0
  30. package/dist/src/constant/role/unknown.js.map +1 -0
  31. package/dist/src/enum/block-type.d.ts +2 -1
  32. package/dist/src/enum/block-type.js +1 -0
  33. package/dist/src/enum/block-type.js.map +1 -1
  34. package/dist/src/enum/default-role.d.ts +2 -1
  35. package/dist/src/enum/default-role.js +1 -0
  36. package/dist/src/enum/default-role.js.map +1 -1
  37. package/dist/src/enum/emoji.d.ts +1 -0
  38. package/dist/src/enum/emoji.js +1 -0
  39. package/dist/src/enum/emoji.js.map +1 -1
  40. package/dist/src/index.d.ts +2 -0
  41. package/dist/src/index.js +3 -1
  42. package/dist/src/index.js.map +1 -1
  43. package/dist/src/interface/route.d.ts +2 -1
  44. package/dist/src/lib/environment-mocker/index.d.ts +18 -0
  45. package/dist/src/lib/environment-mocker/index.js +40 -0
  46. package/dist/src/lib/environment-mocker/index.js.map +1 -0
  47. package/dist/src/lib/grammar/index.d.ts +3 -0
  48. package/dist/src/lib/grammar/index.js +7 -1
  49. package/dist/src/lib/grammar/index.js.map +1 -1
  50. package/dist/src/lib/grammar/utility/pluralize.d.ts +2 -0
  51. package/dist/src/lib/grammar/utility/pluralize.js +12 -0
  52. package/dist/src/lib/grammar/utility/pluralize.js.map +1 -0
  53. package/dist/src/lib/grammar/utility/singularize-or-pluralize.d.ts +2 -0
  54. package/dist/src/lib/grammar/utility/singularize-or-pluralize.js +12 -0
  55. package/dist/src/lib/grammar/utility/singularize-or-pluralize.js.map +1 -0
  56. package/dist/src/lib/grammar/utility/singularize.d.ts +2 -0
  57. package/dist/src/lib/grammar/utility/singularize.js +12 -0
  58. package/dist/src/lib/grammar/utility/singularize.js.map +1 -0
  59. package/dist/src/lib/log-capturer/index.d.ts +2 -0
  60. package/dist/src/lib/log-capturer/index.js +8 -0
  61. package/dist/src/lib/log-capturer/index.js.map +1 -0
  62. package/dist/src/lib/log-capturer/log-capturer.d.ts +19 -0
  63. package/dist/src/lib/log-capturer/log-capturer.js +39 -0
  64. package/dist/src/lib/log-capturer/log-capturer.js.map +1 -0
  65. package/dist/src/lib/string/create-slug.js +2 -1
  66. package/dist/src/lib/string/create-slug.js.map +1 -1
  67. package/dist/src/server/endpoint/account/get.d.ts +14 -0
  68. package/dist/src/server/endpoint/account/get.js +34 -0
  69. package/dist/src/server/endpoint/account/get.js.map +1 -0
  70. package/dist/src/server/endpoint/action/create.js +4 -29
  71. package/dist/src/server/endpoint/action/create.js.map +1 -1
  72. package/dist/src/server/endpoint/role/get.d.ts +14 -0
  73. package/dist/src/server/endpoint/role/get.js +43 -0
  74. package/dist/src/server/endpoint/role/get.js.map +1 -0
  75. package/dist/src/server/enum/custom-page-type.d.ts +3 -1
  76. package/dist/src/server/enum/custom-page-type.js +2 -0
  77. package/dist/src/server/enum/custom-page-type.js.map +1 -1
  78. package/dist/src/server/factory/block-result-serializer.js +3 -0
  79. package/dist/src/server/factory/block-result-serializer.js.map +1 -1
  80. package/dist/src/server/middleware/error-handler.js +7 -2
  81. package/dist/src/server/middleware/error-handler.js.map +1 -1
  82. package/dist/src/server/operation/find-account.d.ts +1 -0
  83. package/dist/src/server/operation/find-account.js +9 -1
  84. package/dist/src/server/operation/find-account.js.map +1 -1
  85. package/dist/src/server/operation/load-account.js +5 -8
  86. package/dist/src/server/operation/load-account.js.map +1 -1
  87. package/dist/src/server/operation/load-page.d.ts +5 -4
  88. package/dist/src/server/operation/load-page.js +176 -59
  89. package/dist/src/server/operation/load-page.js.map +1 -1
  90. package/dist/src/server/operation/store-files.d.ts +15 -0
  91. package/dist/src/server/operation/store-files.js +84 -0
  92. package/dist/src/server/operation/store-files.js.map +1 -0
  93. package/dist/src/server/result-serializer/account.d.ts +9 -0
  94. package/dist/src/server/result-serializer/account.js +26 -0
  95. package/dist/src/server/result-serializer/account.js.map +1 -0
  96. package/dist/src/server/result-serializer/action.d.ts +2 -1
  97. package/dist/src/server/result-serializer/action.js +27 -18
  98. package/dist/src/server/result-serializer/action.js.map +1 -1
  99. package/dist/src/server/result-serializer/base.js +22 -4
  100. package/dist/src/server/result-serializer/base.js.map +1 -1
  101. package/dist/src/server/result-serializer/block/folder.js +25 -9
  102. package/dist/src/server/result-serializer/block/folder.js.map +1 -1
  103. package/dist/src/server/result-serializer/block/header.js +6 -2
  104. package/dist/src/server/result-serializer/block/header.js.map +1 -1
  105. package/dist/src/server/result-serializer/block/image.js +6 -3
  106. package/dist/src/server/result-serializer/block/image.js.map +1 -1
  107. package/dist/src/server/result-serializer/block/parameter.d.ts +6 -0
  108. package/dist/src/server/result-serializer/block/parameter.js +13 -0
  109. package/dist/src/server/result-serializer/block/parameter.js.map +1 -0
  110. package/dist/src/server/result-serializer/block.d.ts +2 -1
  111. package/dist/src/server/result-serializer/block.js +32 -13
  112. package/dist/src/server/result-serializer/block.js.map +1 -1
  113. package/dist/src/server/result-serializer/page.d.ts +2 -1
  114. package/dist/src/server/result-serializer/page.js +4 -4
  115. package/dist/src/server/result-serializer/page.js.map +1 -1
  116. package/dist/src/server/result-serializer/role.d.ts +9 -0
  117. package/dist/src/server/result-serializer/role.js +26 -0
  118. package/dist/src/server/result-serializer/role.js.map +1 -0
  119. package/dist/src/server/type/multipart-file.d.ts +7 -0
  120. package/dist/src/server/type/multipart-file.js +3 -0
  121. package/dist/src/server/type/multipart-file.js.map +1 -0
  122. package/dist/src/server/utility/extract-role.d.ts +3 -0
  123. package/dist/src/server/utility/extract-role.js +19 -0
  124. package/dist/src/server/utility/extract-role.js.map +1 -0
  125. package/dist/src/server/utility/get-custom-page-type-for-path.js +12 -0
  126. package/dist/src/server/utility/get-custom-page-type-for-path.js.map +1 -1
  127. package/dist/src/server/utility/get-key-for-role.d.ts +3 -0
  128. package/dist/src/server/utility/get-key-for-role.js +10 -0
  129. package/dist/src/server/utility/get-key-for-role.js.map +1 -0
  130. package/dist/src/server/utility/get-thumbnail-filename.d.ts +2 -0
  131. package/dist/src/server/utility/get-thumbnail-filename.js +10 -0
  132. package/dist/src/server/utility/get-thumbnail-filename.js.map +1 -0
  133. package/dist/src/server/utility/get-url-for-role.d.ts +3 -0
  134. package/dist/src/server/utility/get-url-for-role.js +13 -0
  135. package/dist/src/server/utility/get-url-for-role.js.map +1 -0
  136. package/dist/src/server/utility/role-matches.d.ts +3 -0
  137. package/dist/src/server/utility/role-matches.js +13 -0
  138. package/dist/src/server/utility/role-matches.js.map +1 -0
  139. package/dist/src/server/utility/satisfies-role.d.ts +3 -0
  140. package/dist/src/server/utility/satisfies-role.js +21 -0
  141. package/dist/src/server/utility/satisfies-role.js.map +1 -0
  142. package/dist/src/server.js +6 -8
  143. package/dist/src/server.js.map +1 -1
  144. package/dist/src/type/account.d.ts +1 -1
  145. package/dist/src/type/block/parameter.d.ts +8 -0
  146. package/dist/src/type/block/parameter.js +3 -0
  147. package/dist/src/type/block/parameter.js.map +1 -0
  148. package/dist/src/type/block-metadata.d.ts +2 -1
  149. package/dist/src/type/color-value.d.ts +2 -0
  150. package/dist/src/type/color-value.js +3 -0
  151. package/dist/src/type/color-value.js.map +1 -0
  152. package/dist/src/type/request-context.d.ts +7 -0
  153. package/dist/src/type/request-context.js +3 -0
  154. package/dist/src/type/request-context.js.map +1 -0
  155. package/dist/src/type/role.d.ts +8 -0
  156. package/dist/src/{interface/provider.js → type/role.js} +1 -1
  157. package/dist/src/type/role.js.map +1 -0
  158. package/dist/src/type/runtime-config.d.ts +2 -1
  159. package/dist/src/type/server-settings.d.ts +2 -1
  160. package/dist/test/unit/lib/environment-mocker/environment-mocker.d.ts +1 -0
  161. package/dist/test/unit/lib/environment-mocker/environment-mocker.js +40 -0
  162. package/dist/test/unit/lib/environment-mocker/environment-mocker.js.map +1 -0
  163. package/dist/test/unit/lib/grammar/index.d.ts +1 -0
  164. package/dist/test/unit/lib/grammar/index.js +60 -0
  165. package/dist/test/unit/lib/grammar/index.js.map +1 -0
  166. package/dist/test/unit/lib/grammar/inflector.d.ts +1 -0
  167. package/dist/test/unit/lib/grammar/inflector.js +72 -0
  168. package/dist/test/unit/lib/grammar/inflector.js.map +1 -0
  169. package/dist/test/unit/lib/http/parser/url.d.ts +1 -0
  170. package/dist/test/unit/lib/http/parser/url.js +27 -0
  171. package/dist/test/unit/lib/http/parser/url.js.map +1 -0
  172. package/dist/test/unit/lib/http/response/outgoing.d.ts +1 -0
  173. package/dist/test/unit/lib/http/response/outgoing.js +38 -0
  174. package/dist/test/unit/lib/http/response/outgoing.js.map +1 -0
  175. package/dist/test/unit/lib/http/utility/get-status-code-for-error-type.d.ts +1 -0
  176. package/dist/test/unit/lib/http/utility/get-status-code-for-error-type.js +21 -0
  177. package/dist/test/unit/lib/http/utility/get-status-code-for-error-type.js.map +1 -0
  178. package/dist/test/unit/lib/key-generator/key-generator.d.ts +1 -0
  179. package/dist/test/unit/lib/key-generator/key-generator.js +23 -0
  180. package/dist/test/unit/lib/key-generator/key-generator.js.map +1 -0
  181. package/dist/test/unit/lib/log-capturer/log-capturer.d.ts +1 -0
  182. package/dist/test/unit/lib/log-capturer/log-capturer.js +35 -0
  183. package/dist/test/unit/lib/log-capturer/log-capturer.js.map +1 -0
  184. package/dist/test/unit/lib/logger/formatter.d.ts +1 -0
  185. package/dist/test/unit/lib/logger/formatter.js +32 -0
  186. package/dist/test/unit/lib/logger/formatter.js.map +1 -0
  187. package/dist/test/unit/lib/logger/logger.d.ts +1 -0
  188. package/dist/test/unit/lib/logger/logger.js +194 -0
  189. package/dist/test/unit/lib/logger/logger.js.map +1 -0
  190. package/dist/test/unit/lib/operation/operation.d.ts +1 -0
  191. package/dist/test/unit/lib/operation/operation.js +128 -0
  192. package/dist/test/unit/lib/operation/operation.js.map +1 -0
  193. package/dist/test/unit/lib/promise-wrapper/promise-wrapper.d.ts +1 -0
  194. package/dist/test/unit/lib/promise-wrapper/promise-wrapper.js +41 -0
  195. package/dist/test/unit/lib/promise-wrapper/promise-wrapper.js.map +1 -0
  196. package/dist/test/unit/lib/string/create-slug.d.ts +1 -0
  197. package/dist/test/unit/lib/string/create-slug.js +15 -0
  198. package/dist/test/unit/lib/string/create-slug.js.map +1 -0
  199. package/dist/test/unit/lib/time/utility/sleep.d.ts +1 -0
  200. package/dist/test/unit/lib/time/utility/sleep.js +20 -0
  201. package/dist/test/unit/lib/time/utility/sleep.js.map +1 -0
  202. package/dist/tsconfig.tsbuildinfo +1 -1
  203. package/package.json +11 -5
  204. package/dist/src/interface/provider.d.ts +0 -6
  205. package/dist/src/interface/provider.js.map +0 -1
@@ -8,20 +8,29 @@ const promises_1 = require("fs/promises");
8
8
  const header_1 = __importDefault(require("./../../common/builder/block/header.js"));
9
9
  const note_1 = __importDefault(require("./../../common/builder/block/note.js"));
10
10
  const string_1 = require("./../../lib/string/index.js");
11
+ const grammar_1 = require("./../../lib/grammar/index.js");
11
12
  const filesystem_1 = require("./../../lib/filesystem/index.js");
12
13
  const http_1 = require("./../../lib/http/index.js");
13
14
  const errors_1 = require("./../../lib/errors/index.js");
14
15
  const operation_1 = __importDefault(require("./../../operation.js"));
15
16
  const path_to_date_1 = __importDefault(require("./../utility/path-to-date.js"));
16
17
  const get_path_for_folder_block_1 = __importDefault(require("./../utility/get-path-for-folder-block.js"));
18
+ const get_url_for_role_1 = __importDefault(require("./../utility/get-url-for-role.js"));
19
+ const get_key_for_role_1 = __importDefault(require("./../utility/get-key-for-role.js"));
20
+ const default_role_1 = __importDefault(require("./../../enum/default-role.js"));
21
+ const satisfies_role_1 = __importDefault(require("./../utility/satisfies-role.js"));
17
22
  const permission_type_1 = __importDefault(require("./../../enum/permission-type.js"));
23
+ const public_1 = __importDefault(require("./../../constant/role/public.js"));
24
+ const role_matches_1 = __importDefault(require("./../utility/role-matches.js"));
25
+ const creator_1 = __importDefault(require("./../../constant/role/creator.js"));
26
+ const unknown_1 = __importDefault(require("./../../constant/role/unknown.js"));
18
27
  const system_id_1 = __importDefault(require("./../../constant/system-id.js"));
19
28
  const block_type_1 = __importDefault(require("./../../enum/block-type.js"));
20
29
  const get_block_permissions_1 = __importDefault(require("./../utility/get-block-permissions.js"));
21
30
  const get_parent_path_1 = __importDefault(require("./../../common/utility/get-parent-path.js"));
22
- const default_role_1 = __importDefault(require("./../../enum/default-role.js"));
23
31
  const validate_path_1 = __importDefault(require("./../utility/validate-path.js"));
24
32
  const load_account_1 = __importDefault(require("./load-account.js"));
33
+ const find_account_1 = __importDefault(require("./find-account.js"));
25
34
  const custom_page_type_1 = __importDefault(require("./../enum/custom-page-type.js"));
26
35
  const color_1 = __importDefault(require("./../../enum/color.js"));
27
36
  const get_weekday_name_1 = __importDefault(require("./../utility/get-weekday-name.js"));
@@ -34,6 +43,7 @@ const get_start_of_week_1 = __importDefault(require("./../utility/get-start-of-w
34
43
  const week_to_path_1 = __importDefault(require("./../utility/week-to-path.js"));
35
44
  const increment_date_1 = __importDefault(require("./../utility/increment-date.js"));
36
45
  const decrement_date_1 = __importDefault(require("./../utility/decrement-date.js"));
46
+ const extract_role_1 = __importDefault(require("./../utility/extract-role.js"));
37
47
  const date_less_than_1 = __importDefault(require("./../utility/date-less-than.js"));
38
48
  const create_date_1 = __importDefault(require("./../utility/create-date.js"));
39
49
  const dates_are_equal_1 = __importDefault(require("./../utility/dates-are-equal.js"));
@@ -47,13 +57,14 @@ class LoadPageOperation extends operation_1.default {
47
57
  this.path = path;
48
58
  }
49
59
  async performInternal() {
50
- const current_role = await this.loadCurrentRole();
51
- const required_role = await this.determineRequiredReadRole();
52
- if (!this.satisfiesRole(current_role, required_role)) {
53
- return this.generatePermissionDeniedPage(current_role, required_role);
60
+ const request_context = await this.buildRequestContext();
61
+ const { creator_username, required_role } = await this.determineCreatorAndRequiredReadRole(request_context);
62
+ const { role: current_role, path } = request_context;
63
+ const roles = this.getRoles();
64
+ if (!(0, satisfies_role_1.default)(roles, current_role, required_role)) {
65
+ return this.generatePermissionDeniedPage(current_role, required_role, creator_username);
54
66
  }
55
- const path = this.getPath();
56
- const raw_page = await this.loadRawPageForPath(path);
67
+ const raw_page = await this.loadRawPage(request_context);
57
68
  const page = {
58
69
  path,
59
70
  ...raw_page
@@ -64,62 +75,78 @@ class LoadPageOperation extends operation_1.default {
64
75
  formatResult(result) {
65
76
  return result.path;
66
77
  }
67
- async generatePermissionDeniedPage(current_role, required_role) {
78
+ async generatePermissionDeniedPage(current_role, required_role, creator_username) {
68
79
  const path = this.getPath();
69
- const execution_context = this.getExecutionContext();
70
- const logged_in = execution_context.isLoggedIn();
71
- const requires_creator = required_role === default_role_1.default.CREATOR;
72
- const header_block = (0, header_1.default)('permission denied');
73
- const login_note = (0, note_1.default)(`do you need to [log in](/login)?`);
74
- const creator_username = '0xfc3';
75
- const role_label = (() => {
76
- if (requires_creator) {
77
- return `[${creator_username}]`;
78
- }
79
- else {
80
- return `[${required_role}] or higher`;
81
- }
82
- })();
83
- const role_note = (0, note_1.default)(`only ${role_label} can view this page.`);
84
- if (!logged_in) {
80
+ const requires_unknown = (0, role_matches_1.default)(required_role, unknown_1.default);
81
+ if (requires_unknown) {
82
+ const header_block = (0, header_1.default)(`${emoji_1.default.WARNING_SIGN} configuration error`, {
83
+ color: color_1.default.YELLOW
84
+ });
85
+ const explanation = (0, note_1.default)('this page is configured to require a role that is invalid or no longer supported. ' +
86
+ 'it\'s possible that this role used to exist, but has since been removed.');
85
87
  return {
86
88
  path,
87
89
  blocks: [
88
90
  header_block,
89
- role_note,
90
- login_note
91
+ explanation
91
92
  ]
92
93
  };
93
94
  }
95
+ const requires_creator = (0, role_matches_1.default)(required_role, creator_1.default);
96
+ const login_note = (0, note_1.default)(`do you need to [log in](/login)?`);
97
+ const execution_context = this.getExecutionContext();
98
+ const logged_in = execution_context.isLoggedIn();
99
+ const header_block = (0, header_1.default)(`${emoji_1.default.LOCKED} permission denied`, {
100
+ color: color_1.default.MAROON
101
+ });
94
102
  if (requires_creator) {
103
+ const account_link = `<a href="/accounts/${creator_username}">[${creator_username}]</a>`;
104
+ const role_note = (0, note_1.default)(`only ${account_link} can view this page.`);
105
+ const blocks = [
106
+ header_block,
107
+ role_note,
108
+ ];
109
+ if (!logged_in) {
110
+ blocks.push(login_note);
111
+ }
95
112
  return {
96
113
  path,
97
- blocks: [
98
- header_block,
99
- role_note
100
- ]
114
+ blocks
101
115
  };
102
116
  }
103
- const upgrade_note = (0, note_1.default)(`(you are only [${current_role}])`);
117
+ const role_url = (0, get_url_for_role_1.default)(required_role);
118
+ const role_link = `<a href="${role_url}">[${required_role.name}]</a>`;
119
+ const role_note = (0, note_1.default)(`only ${role_link} or higher can view this page.`);
120
+ const blocks = [
121
+ header_block,
122
+ role_note
123
+ ];
124
+ if (!logged_in) {
125
+ const upgrade_note = (0, note_1.default)(`(you are only [${current_role}])`);
126
+ blocks.push(upgrade_note);
127
+ }
104
128
  return {
105
129
  path,
106
- blocks: [
107
- header_block,
108
- role_note,
109
- upgrade_note
110
- ]
130
+ blocks
111
131
  };
112
132
  }
113
- async determineRequiredReadRole() {
114
- const page_path = this.getPath();
115
- const parent_path = (0, get_parent_path_1.default)(page_path);
133
+ async determineCreatorAndRequiredReadRole(request_context) {
134
+ const { path: request_path } = request_context;
135
+ const parent_path = (0, get_parent_path_1.default)(request_path);
116
136
  let raw_page;
137
+ const parent_context = {
138
+ ...request_context,
139
+ path: parent_path
140
+ };
117
141
  try {
118
- raw_page = await this.loadRawPageForPath(parent_path);
142
+ raw_page = await this.loadRawPage(parent_context);
119
143
  }
120
144
  catch (error) {
121
145
  if ((0, errors_1.errorMatches)(error, errors_1.NotFoundError)) {
122
- return default_role_1.default.PUBLIC;
146
+ return {
147
+ creator_username: 'system',
148
+ required_role: public_1.default
149
+ };
123
150
  }
124
151
  throw error;
125
152
  }
@@ -134,34 +161,42 @@ class LoadPageOperation extends operation_1.default {
134
161
  base_path: parent_path,
135
162
  block: folder_block
136
163
  });
137
- return folder_path === page_path;
164
+ return folder_path === request_path;
138
165
  });
139
166
  if (block === undefined) {
140
- return default_role_1.default.PUBLIC;
167
+ return {
168
+ creator_username: '???',
169
+ required_role: public_1.default
170
+ };
141
171
  }
142
172
  const permissions = (0, get_block_permissions_1.default)(block);
143
- const required_role = permissions[permission_type_1.default.READ];
144
- return required_role;
145
- }
146
- satisfiesRole(current_role, required_role) {
173
+ const required_role_key = permissions[permission_type_1.default.READ];
147
174
  const roles = this.getRoles();
148
- const current_index = roles.indexOf(current_role);
149
- const required_index = roles.indexOf(required_role);
150
- return current_index >= required_index;
175
+ const required_role = (0, extract_role_1.default)(roles, required_role_key);
176
+ const account_id = block.creator_id;
177
+ const execution_context = this.getExecutionContext();
178
+ const operation = new find_account_1.default(account_id, execution_context);
179
+ const account = await operation.perform();
180
+ const creator_username = account.username;
181
+ return {
182
+ creator_username,
183
+ required_role
184
+ };
151
185
  }
152
- async loadRawPageForPath(page_path) {
186
+ async loadRawPage(request_context) {
153
187
  const { public_directory, routes } = this.getConfig();
188
+ const { path: request_path } = request_context;
154
189
  let index = 0;
155
190
  const blocks = [];
156
191
  while (index < routes.length) {
157
192
  const route = routes[index++];
158
193
  const { path, handler } = route;
159
- if (page_path === path) {
160
- const subset = await handler(path);
194
+ if (request_path === path) {
195
+ const subset = await handler(request_context);
161
196
  blocks.push(...subset);
162
197
  }
163
198
  }
164
- const filename = `.${page_path}/index.json`;
199
+ const filename = `.${request_path}/index.json`;
165
200
  const absolute_path = path_1.default.resolve(public_directory, filename);
166
201
  const file_exists = await (0, filesystem_1.exists)(absolute_path);
167
202
  if (!file_exists) {
@@ -174,7 +209,7 @@ class LoadPageOperation extends operation_1.default {
174
209
  return this.autogenerate();
175
210
  }
176
211
  else {
177
- throw new errors_1.NotFoundError(`Unable to find page: ${page_path}`);
212
+ throw new errors_1.NotFoundError(`Unable to find page: ${request_path}`);
178
213
  }
179
214
  }
180
215
  const contents = await (0, promises_1.readFile)(absolute_path, string_1.StringEncoding.UTF8);
@@ -193,6 +228,8 @@ class LoadPageOperation extends operation_1.default {
193
228
  case custom_page_type_1.default.DATE:
194
229
  case custom_page_type_1.default.ERROR:
195
230
  case custom_page_type_1.default.INDEX:
231
+ case custom_page_type_1.default.ACCOUNT:
232
+ case custom_page_type_1.default.ROLE:
196
233
  return true;
197
234
  default:
198
235
  return false;
@@ -213,6 +250,10 @@ class LoadPageOperation extends operation_1.default {
213
250
  return this.autogenerateError();
214
251
  case custom_page_type_1.default.INDEX:
215
252
  return this.autogenerateIndex();
253
+ case custom_page_type_1.default.ACCOUNT:
254
+ return this.autogenerateAccount();
255
+ case custom_page_type_1.default.ROLE:
256
+ return this.autogenerateRole();
216
257
  default:
217
258
  throw new errors_1.InvalidError(`Unable to autogenerate page for path: ${path}`);
218
259
  }
@@ -354,6 +395,71 @@ class LoadPageOperation extends operation_1.default {
354
395
  ]
355
396
  };
356
397
  }
398
+ async autogenerateAccount() {
399
+ const now = Date.now();
400
+ return {
401
+ blocks: [
402
+ (0, header_1.default)(`coming soon`),
403
+ {
404
+ block_type: block_type_1.default.EPHEMERAL,
405
+ label: '(nothing here yet)',
406
+ creator_id: system_id_1.default,
407
+ created_at: now
408
+ }
409
+ ]
410
+ };
411
+ }
412
+ async autogenerateRole() {
413
+ const path = this.getPath();
414
+ const match = path.match(/^\/roles\/([a-z0-9\-]+)$/);
415
+ if (match === null) {
416
+ throw new errors_1.InvalidError(`Invalid role path: ${path}`);
417
+ }
418
+ const role_slug = match[1];
419
+ const desired_key = role_slug.replace(/-/g, '_');
420
+ const execution_context = this.getExecutionContext();
421
+ const { roles } = execution_context.getConfig();
422
+ const role_list = [];
423
+ let matching_role;
424
+ roles.forEach((role) => {
425
+ const role_key = (0, get_key_for_role_1.default)(role);
426
+ if (role_key === desired_key) {
427
+ matching_role = role;
428
+ }
429
+ const is_creator = role_key === default_role_1.default.CREATOR;
430
+ const is_unknown = role_key === default_role_1.default.UNKNOWN;
431
+ if (is_creator || is_unknown) {
432
+ return;
433
+ }
434
+ const role_url = (0, get_url_for_role_1.default)(role);
435
+ const { color } = role;
436
+ const role_label = `[${role.emoji} ${role.name}]`;
437
+ role_list.push(`- <a class="text-${color}" href="${role_url}">${role_label}</a>`);
438
+ });
439
+ if (matching_role === undefined) {
440
+ throw new errors_1.NotFoundError(`Unable to find role: ${desired_key}`);
441
+ }
442
+ const combined_roles = role_list.join('\n');
443
+ const { emoji, name, color } = matching_role;
444
+ const role_url = (0, get_url_for_role_1.default)(matching_role);
445
+ const role_label = `[${emoji} ${name}]`;
446
+ const plural_name = (0, grammar_1.pluralize)(name);
447
+ const group_label = `[${emoji} ${plural_name}]`;
448
+ const role_link = `<a class="text-${color}" href="${role_url}">${role_label}</a>`;
449
+ const group_link = `<a class="text-${color}" href="${role_url}">${group_label}</a>`;
450
+ const description = matching_role.description
451
+ .replace(/\[\$role\]/g, role_link)
452
+ .replace(/\[\$group\]/g, group_link);
453
+ return {
454
+ blocks: [
455
+ (0, header_1.default)(role_label, {
456
+ color
457
+ }),
458
+ (0, note_1.default)(`All roles:\n\n${combined_roles}`),
459
+ (0, note_1.default)(description)
460
+ ]
461
+ };
462
+ }
357
463
  getCustomPageType() {
358
464
  const path = this.getPath();
359
465
  return (0, get_custom_page_type_for_path_1.default)(path);
@@ -361,15 +467,26 @@ class LoadPageOperation extends operation_1.default {
361
467
  getPath() {
362
468
  return this.path;
363
469
  }
364
- async loadCurrentRole() {
470
+ async buildRequestContext() {
365
471
  const execution_context = this.getExecutionContext();
366
472
  const operation = new load_account_1.default(execution_context);
367
473
  const account = await operation.perform();
474
+ const path = this.getPath();
368
475
  if (account === null) {
369
- return default_role_1.default.PUBLIC;
476
+ return {
477
+ path,
478
+ role: public_1.default,
479
+ username: 'anonymous'
480
+ };
370
481
  }
371
- const { role } = account;
372
- return role;
482
+ const { username, role_key } = account;
483
+ const roles = this.getRoles();
484
+ const role = (0, extract_role_1.default)(roles, role_key);
485
+ return {
486
+ path,
487
+ role,
488
+ username
489
+ };
373
490
  }
374
491
  getRoles() {
375
492
  const execution_context = this.getExecutionContext();
@@ -1 +1 @@
1
- {"version":3,"file":"load-page.js","sourceRoot":"","sources":["../../../../src/server/operation/load-page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-page.js","sourceRoot":"","sources":["../../../../src/server/operation/load-page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import BaseOperation from './../../operation';
2
+ import ExecutionContext from './../../lib/execution-context/index';
3
+ import MultipartFile from './../type/multipart-file';
4
+ declare class StoreFilesOperation extends BaseOperation<string[]> {
5
+ private files;
6
+ private path;
7
+ constructor(files: MultipartFile[], path: string, execution_context: ExecutionContext);
8
+ protected formatResult(result: string[]): string;
9
+ protected performInternal(): Promise<string[]>;
10
+ private storeFile;
11
+ private getPageFilepath;
12
+ private getFiles;
13
+ private getPath;
14
+ }
15
+ export default StoreFilesOperation;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const promises_1 = require("fs/promises");
7
+ const process_1 = require("./../../lib/process/index.js");
8
+ const filesystem_1 = require("./../../lib/filesystem/index.js");
9
+ const operation_1 = __importDefault(require("./../../operation.js"));
10
+ const get_thumbnail_filename_1 = __importDefault(require("./../utility/get-thumbnail-filename.js"));
11
+ const IMAGE_EXTENSIONS = [
12
+ filesystem_1.FileExtension.GIF,
13
+ filesystem_1.FileExtension.JPG,
14
+ filesystem_1.FileExtension.JPEG,
15
+ filesystem_1.FileExtension.PNG
16
+ ];
17
+ class StoreFilesOperation extends operation_1.default {
18
+ constructor(files, path, execution_context) {
19
+ super(execution_context);
20
+ this.files = files;
21
+ this.path = path;
22
+ }
23
+ formatResult(result) {
24
+ const path = this.getPath();
25
+ return `to page ${path}: ${result.join(', ')}`;
26
+ }
27
+ async performInternal() {
28
+ const files = this.getFiles();
29
+ const page_filepath = this.getPageFilepath();
30
+ await (0, promises_1.mkdir)(page_filepath, {
31
+ recursive: true
32
+ });
33
+ const filenames = [];
34
+ let index = 0;
35
+ while (index < files.length) {
36
+ const file = files[index++];
37
+ const new_filename = await this.storeFile(file);
38
+ if (new_filename !== null) {
39
+ filenames.push(new_filename);
40
+ }
41
+ }
42
+ return filenames;
43
+ }
44
+ async storeFile(file) {
45
+ const logger = this.getLogger();
46
+ if (file.size === 0) {
47
+ logger.warn(`Skipping empty file: ${file.originalFilename}`);
48
+ return null;
49
+ }
50
+ const page_filepath = this.getPageFilepath();
51
+ const new_filename = file.originalFilename;
52
+ const new_filepath = `${page_filepath}/${new_filename}`;
53
+ logger.info(`Moving upload: ${file.filepath} -> ${new_filepath}`);
54
+ await (0, promises_1.copyFile)(file.filepath, new_filepath);
55
+ await (0, promises_1.unlink)(file.filepath);
56
+ const extension = (0, filesystem_1.getExtensionForFilepath)(new_filepath);
57
+ if (extension === undefined || !IMAGE_EXTENSIONS.includes(extension)) {
58
+ return new_filename;
59
+ }
60
+ const thumbnail_filename = (0, get_thumbnail_filename_1.default)(new_filename);
61
+ logger.info(`
62
+ Creating thumbnail for image: ${new_filename} -> ${thumbnail_filename}
63
+ `);
64
+ const command = `convert ${new_filename} -thumbnail 512x512^ -gravity center -extent 512x512 -quality 90 ${thumbnail_filename}`;
65
+ await (0, process_1.execute)(command, {
66
+ cwd: page_filepath
67
+ });
68
+ return new_filename;
69
+ }
70
+ getPageFilepath() {
71
+ const execution_context = this.getExecutionContext();
72
+ const { public_directory } = execution_context.getConfig();
73
+ const path = this.getPath();
74
+ return `${public_directory}${path}`;
75
+ }
76
+ getFiles() {
77
+ return this.files;
78
+ }
79
+ getPath() {
80
+ return this.path;
81
+ }
82
+ }
83
+ exports.default = StoreFilesOperation;
84
+ //# sourceMappingURL=store-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-files.js","sourceRoot":"","sources":["../../../../src/server/operation/store-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import PageType from './../../client/enum/page-type';
2
+ import Account from './../../type/account';
3
+ import BaseResultSerializer from './base';
4
+ declare class AccountResultSerializer extends BaseResultSerializer<Account> {
5
+ protected getTitle(): string;
6
+ protected serializeSections(): string;
7
+ protected getPageType(): PageType;
8
+ }
9
+ export default AccountResultSerializer;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const page_type_1 = __importDefault(require("./../../client/enum/page-type.js"));
7
+ const base_1 = __importDefault(require("./base.js"));
8
+ class AccountResultSerializer extends base_1.default {
9
+ getTitle() {
10
+ const { username } = this.getResult();
11
+ return `account: [${username}]`;
12
+ }
13
+ serializeSections() {
14
+ const { username } = this.getResult();
15
+ return `
16
+ <section>
17
+ <h3>account: [${username}]</h3>
18
+ </section>
19
+ `;
20
+ }
21
+ getPageType() {
22
+ return page_type_1.default.ROLE;
23
+ }
24
+ }
25
+ exports.default = AccountResultSerializer;
26
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../../src/server/result-serializer/account.ts"],"names":[],"mappings":";;;;;AAAA,sEAA6C;AAE7C,yEAAiE;AAEjE,MAAM,uBAAwB,SAAQ,cAA6B;IACxD,QAAQ;QACjB,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEpC,OAAO,aAAa,QAAQ,GAAG,CAAC;IACjC,CAAC;IAES,iBAAiB;QAC1B,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEpC,OAAO;;oBAEW,QAAQ;;GAEzB,CAAC;IACH,CAAC;IAES,WAAW;QACpB,OAAO,mBAAQ,CAAC,IAAI,CAAC;IACtB,CAAC;CACD;AAED,kBAAe,uBAAuB,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { Session } from './../../lib/execution-context/index';
2
2
  import BaseResultSerializer from './base';
3
3
  import Action from './../../type/action';
4
+ import Role from './../../type/role';
4
5
  import PageType from './../../client/enum/page-type';
5
6
  import Account from './../../type/account';
6
7
  type ActionMetadata = {
7
8
  readonly account: Account;
8
- readonly roles: string[];
9
+ readonly roles: Role[];
9
10
  readonly route_paths: string[];
10
11
  readonly creator_username: string;
11
12
  };