Skip to content

Commit 077d4be

Browse files
committed
draft: stuff
1 parent bf7019e commit 077d4be

36 files changed

+186
-41
lines changed

frontend/app/models/absence-balance.js

-12
This file was deleted.
+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<<<<<<< HEAD
2+
import Model, {
3+
attr,
4+
belongsTo,
5+
hasMany,
6+
type AsyncHasMany,
7+
} from "@ember-data/model";
8+
import type { Duration } from "moment";
9+
10+
import type AbsenceCredit from "./absence-credit";
11+
import type AbsenceType from "./absence-type";
12+
import type User from "./user";
13+
=======
14+
import Model, { attr, belongsTo, hasMany } from "@ember-data/model";
15+
>>>>>>> 5c1741fc (cheklflasdjf)
16+
17+
export default class AbsenceBalance extends Model {
18+
@attr("number")
19+
declare credit: number;
20+
21+
@attr("number")
22+
declare usedDays: number;
23+
24+
<<<<<<< HEAD
25+
@attr("django-duration")
26+
declare usedDuration: Duration;
27+
28+
@attr("number")
29+
declare balance: number;
30+
31+
@belongsTo("user", { async: false, inverse: "absenceBalances" })
32+
declare user: User;
33+
34+
@belongsTo("absence-type", { async: false, inverse: "absenceBalances" })
35+
declare absenceType: AbsenceType;
36+
37+
@hasMany("absence-credit", { async: true, inverse: null })
38+
declare absenceCredits: AsyncHasMany<AbsenceCredit>;
39+
=======
40+
@attr("django-duration") usedDuration;
41+
@attr("number") balance;
42+
@belongsTo("user", { async: false, inverse: "absenceBalances" }) user;
43+
@belongsTo("absence-type", { async: false, inverse: "absenceBalances" })
44+
absenceType;
45+
@hasMany("absence-credit", { async: true, inverse: null }) absenceCredits;
46+
>>>>>>> 5c1741fc (cheklflasdjf)
47+
}

frontend/app/models/absence-credit.js renamed to frontend/app/models/absence-credit.ts

+30
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
* @public
55
*/
66
import Model, { attr, belongsTo } from "@ember-data/model";
7+
<<<<<<< HEAD
8+
import type { Moment } from "moment";
9+
10+
import type AbsenceType from "./absence-type";
11+
import type User from "./user";
12+
=======
13+
>>>>>>> 5c1741fc (cheklflasdjf)
714

815
/**
916
* The absence credit model
@@ -13,6 +20,28 @@ import Model, { attr, belongsTo } from "@ember-data/model";
1320
* @public
1421
*/
1522
export default class AbsenceCredit extends Model {
23+
<<<<<<< HEAD
24+
@attr("number")
25+
declare days: number;
26+
27+
@attr("django-date")
28+
declare date: Moment;
29+
30+
@attr("string", { defaultValue: "" })
31+
declare comment: string;
32+
33+
/**
34+
* The absence type for which this credit counts
35+
*/
36+
@belongsTo("absence-type", { async: false, inverse: null })
37+
declare absenceType: AbsenceType;
38+
39+
/**
40+
* The user to which this credit belongs to
41+
*/
42+
@belongsTo("user", { async: false, inverse: null })
43+
declare user: User;
44+
=======
1645
/**
1746
* The days
1847
*
@@ -52,4 +81,5 @@ export default class AbsenceCredit extends Model {
5281
* @public
5382
*/
5483
@belongsTo("user", { async: false, inverse: null }) user;
84+
>>>>>>> 5c1741fc (cheklflasdjf)
5585
}

frontend/app/models/absence-type.js renamed to frontend/app/models/absence-type.ts

+23
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
* @submodule timed-models
44
* @public
55
*/
6+
<<<<<<< HEAD
7+
import Model, { attr, hasMany, type AsyncHasMany } from "@ember-data/model";
8+
9+
import type AbsenceBalance from "./absence-balance";
10+
11+
=======
612
import Model, { attr, hasMany } from "@ember-data/model";
713

814
/**
@@ -12,11 +18,23 @@ import Model, { attr, hasMany } from "@ember-data/model";
1218
* @extends DS.Model
1319
* @public
1420
*/
21+
>>>>>>> 5c1741fc (cheklflasdjf)
1522
export default class AbsenceType extends Model {
1623
/**
1724
* The name of the absence type
1825
*
1926
* E.g Military, Holiday or Sickness
27+
<<<<<<< HEAD
28+
*/
29+
@attr("string")
30+
declare name: string;
31+
32+
/**
33+
* Whether the absence type only fills the worktime
34+
*/
35+
@attr("boolean")
36+
declare fillWorktime: boolean;
37+
=======
2038
*
2139
* @property {String} name
2240
* @public
@@ -30,6 +48,7 @@ export default class AbsenceType extends Model {
3048
* @public
3149
*/
3250
@attr("boolean") fillWorktime;
51+
>>>>>>> 5c1741fc (cheklflasdjf)
3352

3453
/**
3554
* The balances for this type
@@ -38,5 +57,9 @@ export default class AbsenceType extends Model {
3857
* @public
3958
*/
4059
@hasMany("absence-balance", { async: true, inverse: "absenceType" })
60+
<<<<<<< HEAD
61+
declare absenceBalances: AsyncHasMany<AbsenceBalance>;
62+
=======
4163
absenceBalances;
64+
>>>>>>> 5c1741fc (cheklflasdjf)
4265
}

frontend/app/models/absence.js renamed to frontend/app/models/absence.ts

+26
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,20 @@
33
* @submodule timed-models
44
* @public
55
*/
6+
<<<<<<< HEAD
7+
import Model, { attr, belongsTo, type AsyncBelongsTo } from "@ember-data/model";
8+
import moment, { type Duration, type Moment } from "moment";
9+
10+
import type AbsenceType from "./absence-type";
11+
import type User from "./user";
12+
13+
export default class Absence extends Model {
14+
@attr("string", { defaultValue: "" })
15+
declare comment: string;
16+
17+
@attr("django-duration", { defaultValue: () => moment.duration() })
18+
declare duration: Duration;
19+
=======
620
import Model, { attr, belongsTo } from "@ember-data/model";
721
import moment from "moment";
822

@@ -29,13 +43,24 @@ export default class Absence extends Model {
2943
* @public
3044
*/
3145
@attr("django-duration", { defaultValue: () => moment.duration() }) duration;
46+
>>>>>>> 5c1741fc (cheklflasdjf)
3247

3348
/**
3449
* The date
3550
*
3651
* @property {moment} date
3752
* @public
3853
*/
54+
<<<<<<< HEAD
55+
@attr("django-date")
56+
declare date: Moment;
57+
58+
@belongsTo("absence-type", { async: false, inverse: null })
59+
declare absenceType: AbsenceType;
60+
61+
@belongsTo("user", { async: true, inverse: null })
62+
declare user: AsyncBelongsTo<User>;
63+
=======
3964
@attr("django-date") date;
4065

4166
/**
@@ -53,4 +78,5 @@ export default class Absence extends Model {
5378
* @public
5479
*/
5580
@belongsTo("user", { async: true, inverse: null }) user;
81+
>>>>>>> 5c1741fc (cheklflasdjf)
5682
}

frontend/app/models/activity.js renamed to frontend/app/models/activity.ts

+14
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,26 @@
11
import { service } from "@ember/service";
22
import Model, { attr, belongsTo } from "@ember-data/model";
3+
<<<<<<< HEAD
4+
import moment, { type Moment } from "moment";
5+
import { all } from "rsvp";
6+
7+
export default class Activity extends Model {
8+
@attr("django-time")
9+
declare fromTime: Moment;
10+
@attr("django-time")
11+
declare toTime: Moment;
12+
13+
@attr("string", { defaultValue: "" }) comment;
14+
15+
=======
316
import moment from "moment";
417
import { all } from "rsvp";
518

619
export default class Activity extends Model {
720
@attr("django-time") fromTime;
821
@attr("django-time") toTime;
922
@attr("string", { defaultValue: "" }) comment;
23+
>>>>>>> 5c1741fc (cheklflasdjf)
1024
@attr("django-date") date;
1125
@attr("boolean", { defaultValue: false }) transferred;
1226
@attr("boolean", { defaultValue: false }) review;
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

frontend/app/transforms/django-date.js renamed to frontend/app/transforms/django-date.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,11 @@ export default class DjangoDateTransform extends MomentTransform {
1616
* @property {String} format
1717
* @public
1818
*/
19-
format = "YYYY-MM-DD";
19+
override format = "YYYY-MM-DD";
20+
}
21+
22+
declare module "ember-data/types/registries/transform" {
23+
export default interface TransformRegistry {
24+
"django-date": DjangoDateTransform;
25+
}
2026
}

frontend/app/transforms/django-datetime.js renamed to frontend/app/transforms/django-datetime.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,11 @@ export default class DjangoDatetimeTransform extends MomentTransform {
1616
* @property {String} format
1717
* @public
1818
*/
19-
format = "YYYY-MM-DDTHH:mm:ss.SSSSZ";
19+
override format = "YYYY-MM-DDTHH:mm:ss.SSSSZ";
20+
}
21+
22+
declare module "ember-data/types/registries/transform" {
23+
export default interface TransformRegistry {
24+
"django-datetime": DjangoDatetimeTransform;
25+
}
2026
}

frontend/app/transforms/django-duration.js renamed to frontend/app/transforms/django-duration.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export default class DjangoDurationTransform extends Transform {
2929
* @return {moment.duration} The deserialized moment duration
3030
* @public
3131
*/
32-
deserialize(serialized) {
32+
deserialize(serialized: string) {
3333
return parseDjangoDuration(serialized);
3434
}
3535

@@ -46,7 +46,7 @@ export default class DjangoDurationTransform extends Transform {
4646
* @returns {Object} An object containing all needed components as number
4747
* @private
4848
*/
49-
_getDurationComponentsTimedeltaLike(duration) {
49+
_getDurationComponentsTimedeltaLike(duration: Duration): object {
5050
const days = Math.floor(duration.asDays());
5151
const milliseconds = Math.abs(moment.duration({ days }) - duration);
5252

@@ -90,3 +90,9 @@ export default class DjangoDurationTransform extends Transform {
9090
return string;
9191
}
9292
}
93+
94+
declare module "ember-data/types/registries/transform" {
95+
export default interface TransformRegistry {
96+
"django-duration": DjangoDurationTransform;
97+
}
98+
}

frontend/app/transforms/django-time.js renamed to frontend/app/transforms/django-time.ts

+6
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,9 @@ export default class DjangoTimeTransform extends MomentTransform {
1818
*/
1919
format = "HH:mm:ss";
2020
}
21+
22+
declare module "ember-data/types/registries/transform" {
23+
export default interface TransformRegistry {
24+
"django-time": DjangoTimeTransform;
25+
}
26+
}

frontend/app/transforms/django-workdays.js renamed to frontend/app/transforms/django-workdays.ts

+8-12
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,21 @@ import Transform from "@ember-data/serializer/transform";
1212
export default class DjangoWorkdaysTransform extends Transform {
1313
/**
1414
* Deserialize the string separated by comma into an array of numbers
15-
*
16-
* @method deserialize
17-
* @param {String} serialized The string
18-
* @return {Number[]} The deserialized array
19-
* @public
2015
*/
21-
deserialize(serialized) {
16+
deserialize(serialized: string) {
2217
return serialized.split(",").map(Number);
2318
}
2419

2520
/**
2621
* Serialize the array of numbers into a string separated by comma
27-
*
28-
* @method serialize
29-
* @param {Number[]} deserialized The number array
30-
* @return {String} The serialized string
31-
* @public
3222
*/
33-
serialize(deserialized) {
23+
serialize(deserialized: number[]) {
3424
return deserialized.join();
3525
}
3626
}
27+
28+
declare module "ember-data/types/registries/transform" {
29+
export default interface TransformRegistry {
30+
"django-workdays": DjangoWorkdaysTransform;
31+
}
32+
}

frontend/app/transforms/moment.js renamed to frontend/app/transforms/moment.ts

+9-13
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Transform from "@ember-data/serializer/transform";
2-
import moment from "moment";
2+
import moment, { type Moment } from "moment";
33

44
/**
55
* The moment transform
@@ -21,27 +21,23 @@ export default class MomentTransform extends Transform {
2121

2222
/**
2323
* Deserialize the string into a moment object
24-
*
25-
* @method deserialize
26-
* @param {String} serialized The date string
27-
* @return {moment.duration} The deserialized moment object
28-
* @public
2924
*/
30-
deserialize(serialized) {
25+
deserialize(serialized: string) {
3126
return serialized ? moment(serialized, this.format) : null;
3227
}
3328

3429
/**
3530
* Serialize the moment object into a string
36-
*
37-
* @method serialize
38-
* @param {String} deserialized The moment object
39-
* @return {moment.duration} The serialized date string
40-
* @public
4131
*/
42-
serialize(deserialized) {
32+
serialize(deserialized: Moment) {
4333
return deserialized && deserialized.isValid()
4434
? deserialized.format(this.format)
4535
: null;
4636
}
4737
}
38+
39+
declare module "ember-data/types/registries/transform" {
40+
export default interface TransformRegistry {
41+
"django-workdays": MomentTransform;
42+
}
43+
}

frontend/tsconfig.json

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
// layout, which is not resolvable with the Node resolution algorithm, to
99
// work with TypeScript.
1010
"allowJs": true,
11+
"noImplicitOverride": false,
1112
"baseUrl": ".",
1213
"paths": {
1314
"timed/tests/*": [

0 commit comments

Comments
 (0)