@kohost/api-client 3.0.2 → 3.1.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.
@@ -3431,7 +3431,7 @@ var require_uri_all = __commonJS({
3431
3431
  __name(buildExps, "buildExps");
3432
3432
  var URI_PROTOCOL = buildExps(false);
3433
3433
  var IRI_PROTOCOL = buildExps(true);
3434
- var slicedToArray = function() {
3434
+ var slicedToArray = /* @__PURE__ */ function() {
3435
3435
  function sliceIterator(arr, i) {
3436
3436
  var _arr = [];
3437
3437
  var _n = true;
@@ -9392,7 +9392,19 @@ var require_user = __commonJS({
9392
9392
  customPermissions: {
9393
9393
  type: "array",
9394
9394
  items: {
9395
- type: "string"
9395
+ type: "object",
9396
+ properties: {
9397
+ discriminator: {
9398
+ type: "string",
9399
+ enum: ["RoomControl.spaces", "Concierge.timeTracking"]
9400
+ },
9401
+ onlyIncludeIds: {
9402
+ type: "array",
9403
+ items: {
9404
+ type: "string"
9405
+ }
9406
+ }
9407
+ }
9396
9408
  }
9397
9409
  }
9398
9410
  },
@@ -12806,6 +12818,135 @@ var require_Announcement = __commonJS({
12806
12818
  }
12807
12819
  });
12808
12820
 
12821
+ // src/schemas/timeSheet.json
12822
+ var require_timeSheet = __commonJS({
12823
+ "src/schemas/timeSheet.json"(exports, module) {
12824
+ module.exports = {
12825
+ $schema: "http://json-schema.org/draft-07/schema",
12826
+ $id: "timeSheet.json",
12827
+ title: "Time Sheet",
12828
+ type: "object",
12829
+ required: ["userId", "day"],
12830
+ properties: {
12831
+ id: {
12832
+ $ref: "definitions.json#/definitions/id"
12833
+ },
12834
+ type: {
12835
+ type: "string",
12836
+ default: "timeSheet",
12837
+ enum: ["timeSheet"]
12838
+ },
12839
+ userId: {
12840
+ $ref: "definitions.json#/definitions/id"
12841
+ },
12842
+ day: {
12843
+ type: ["string", "object"],
12844
+ format: "date-time"
12845
+ },
12846
+ locked: {
12847
+ type: "boolean",
12848
+ default: false,
12849
+ description: "If true, the time sheet is locked and cannot be modified"
12850
+ },
12851
+ timeEntries: {
12852
+ type: "array",
12853
+ default: [],
12854
+ items: {
12855
+ type: "object",
12856
+ properties: {
12857
+ id: {
12858
+ $ref: "definitions.json#/definitions/id"
12859
+ },
12860
+ discriminator: {
12861
+ type: "string",
12862
+ enum: ["working", "driving", "meeting"]
12863
+ },
12864
+ start: {
12865
+ type: ["string", "object"],
12866
+ format: "date-time"
12867
+ },
12868
+ end: {
12869
+ type: ["string", "object"],
12870
+ format: "date-time"
12871
+ },
12872
+ comment: {
12873
+ type: "string"
12874
+ },
12875
+ ticketId: {
12876
+ type: "string"
12877
+ }
12878
+ },
12879
+ required: ["start", "discriminator"],
12880
+ additionalProperties: false
12881
+ }
12882
+ }
12883
+ }
12884
+ };
12885
+ }
12886
+ });
12887
+
12888
+ // src/Models/TimeSheet.js
12889
+ var require_TimeSheet = __commonJS({
12890
+ "src/Models/TimeSheet.js"(exports, module) {
12891
+ var schemas = require_schema();
12892
+ var schema = require_timeSheet();
12893
+ var Entity = require_Entity();
12894
+ var { nanoid: nanoid3 } = (init_index_browser(), __toCommonJS(index_browser_exports));
12895
+ schemas.add(schema);
12896
+ var validator = schemas.compile(schema);
12897
+ var TimeSheet = class _TimeSheet extends Entity {
12898
+ static {
12899
+ __name(this, "TimeSheet");
12900
+ }
12901
+ /**
12902
+ * @typedef {import("../schemas/TimeSheetSchema").TimeSheet} TimeSheetType
12903
+ * Create a TimeSheet instance.
12904
+ * @constructor
12905
+ * @param {TimeSheetType} timesheet - The timesheet object of type TimeSheet.
12906
+ */
12907
+ constructor(timesheet) {
12908
+ if (timesheet.day) {
12909
+ timesheet.day = new Date(timesheet.day);
12910
+ }
12911
+ if (timesheet.timeEntries && Array.isArray(timesheet.timeEntries)) {
12912
+ timesheet.timeEntries = timesheet.timeEntries.map((t) => {
12913
+ if (!t.id)
12914
+ t.id = _TimeSheet.generateTimeEntryId();
12915
+ if (t.start)
12916
+ t.start = new Date(t.start);
12917
+ if (t.end)
12918
+ t.end = new Date(t.end);
12919
+ return t;
12920
+ });
12921
+ timesheet.timeEntries.sort((a, b) => {
12922
+ if (a.start < b.start)
12923
+ return -1;
12924
+ if (a.start > b.start)
12925
+ return 1;
12926
+ return 0;
12927
+ });
12928
+ }
12929
+ super(timesheet);
12930
+ }
12931
+ static generateTimeEntryId(len = 16) {
12932
+ return nanoid3(len);
12933
+ }
12934
+ };
12935
+ Object.defineProperty(TimeSheet.prototype, "schema", {
12936
+ value: schema
12937
+ });
12938
+ Object.defineProperty(TimeSheet.prototype, "validator", {
12939
+ get: function() {
12940
+ return validator;
12941
+ }
12942
+ });
12943
+ Object.defineProperty(TimeSheet, "validProperties", {
12944
+ value: Object.keys(schema.properties)
12945
+ });
12946
+ module.exports = TimeSheet;
12947
+ }
12948
+ });
12949
+
12809
12950
  // src/schemas/property.json
12810
12951
  var require_property = __commonJS({
12811
12952
  "src/schemas/property.json"(exports, module) {
@@ -12972,7 +13113,19 @@ var require_property = __commonJS({
12972
13113
  }
12973
13114
  }
12974
13115
  },
12975
- Concierge: {},
13116
+ Concierge: {
13117
+ type: "object",
13118
+ properties: {
13119
+ timeTracking: {
13120
+ type: "boolean",
13121
+ default: false
13122
+ },
13123
+ tipping: {
13124
+ type: "boolean",
13125
+ default: false
13126
+ }
13127
+ }
13128
+ },
12976
13129
  DigitalKey: {
12977
13130
  type: "object",
12978
13131
  properties: {
@@ -13345,6 +13498,7 @@ var require_Models = __commonJS({
13345
13498
  var SMSMessage = require_SmsMessage();
13346
13499
  var EmailMessage = require_EmailMessage();
13347
13500
  var Announcement = require_Announcement();
13501
+ var TimeSheet = require_TimeSheet();
13348
13502
  var Property = require_Property();
13349
13503
  var Organization = require_Organization();
13350
13504
  var Entity = require_Entity();
@@ -13383,7 +13537,8 @@ var require_Models = __commonJS({
13383
13537
  SMSMessage,
13384
13538
  EmailMessage,
13385
13539
  Order,
13386
- Announcement
13540
+ Announcement,
13541
+ TimeSheet
13387
13542
  };
13388
13543
  }
13389
13544
  });