aboutsummaryrefslogtreecommitdiff
path: root/services/users
diff options
context:
space:
mode:
authoreug-vs <eug-vs@keemail.me>2020-06-09 14:16:15 +0300
committereug-vs <eug-vs@keemail.me>2020-06-09 14:16:15 +0300
commite9d0438f6c02664c652a593c686564361fa0de6b (patch)
tree5bc0a1e78cf72c6e1ae48f5ee3954511748c81b1 /services/users
parent24f0d8709fc5e90a92d9c3940e693f76cd653bf4 (diff)
downloadwhich-api-e9d0438f6c02664c652a593c686564361fa0de6b.tar.gz
refactor: structurize feathers app
Diffstat (limited to 'services/users')
-rw-r--r--services/users/users.class.ts20
-rw-r--r--services/users/users.service.ts7
2 files changed, 27 insertions, 0 deletions
diff --git a/services/users/users.class.ts b/services/users/users.class.ts
new file mode 100644
index 0000000..db6b5a9
--- /dev/null
+++ b/services/users/users.class.ts
@@ -0,0 +1,20 @@
+interface User {
+ name: string;
+ avatarUrl?: string;
+ age?: number;
+}
+
+export default class Users {
+ users: User[] = [];
+
+ async find (){
+ return this.users;
+ }
+
+ async create(data: Pick<User, 'name' | 'avatarUrl' | 'age'>){
+ const user: User = { ...data };
+ this.users.push(user);
+ return user;
+ }
+}
+
diff --git a/services/users/users.service.ts b/services/users/users.service.ts
new file mode 100644
index 0000000..bf608fe
--- /dev/null
+++ b/services/users/users.service.ts
@@ -0,0 +1,7 @@
+import { Application } from '@feathersjs/express';
+import Users from './users.class';
+
+export default (app: Application): void => {
+ app.use('/users', new Users());
+};
+