Customer folder note relation

This commit is contained in:
Vins 2024-06-03 23:19:13 +02:00
parent 09d5a9d11c
commit 5844026bd9
9 changed files with 142 additions and 9 deletions

View File

@ -2,6 +2,7 @@ import { Contact, Document, OfficeFolder } from ".";
import Resource from "../Resource";
import TotpCodes from "./TotpCodes";
import Office from "./Office";
import Note from "./Note";
export default class Customer extends Resource {
uid?: string;
status: ECustomerStatus | string;
@ -13,6 +14,7 @@ export default class Customer extends Resource {
totpCodes?: TotpCodes[];
password?: string | null;
office?: Office;
notes?: Note[];
}
export declare enum ECustomerStatus {
VALIDATED = "VALIDATED",

View File

@ -19,6 +19,7 @@ const Resource_1 = __importDefault(require("../Resource"));
const class_transformer_1 = require("class-transformer");
const TotpCodes_1 = __importDefault(require("./TotpCodes"));
const Office_1 = __importDefault(require("./Office"));
const Note_1 = __importDefault(require("./Note"));
class Customer extends Resource_1.default {
constructor() {
super(...arguments);
@ -73,6 +74,11 @@ __decorate([
(0, class_transformer_1.Type)(() => Office_1.default),
__metadata("design:type", Office_1.default)
], Customer.prototype, "office", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
(0, class_transformer_1.Type)(() => Note_1.default),
__metadata("design:type", Array)
], Customer.prototype, "notes", void 0);
exports.default = Customer;
var ECustomerStatus;
(function (ECustomerStatus) {

10
dist/Customer/Note.d.ts vendored Normal file
View File

@ -0,0 +1,10 @@
import Customer, { OfficeFolder } from ".";
import Resource from "../Resource";
export default class Note extends Resource {
uid?: string;
content: string | null;
created_at: Date | null;
updated_at: Date | null;
customer?: Customer;
office_folder?: OfficeFolder;
}

78
dist/Customer/Note.js vendored Normal file
View File

@ -0,0 +1,78 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const class_validator_1 = require("class-validator");
const _1 = __importStar(require("."));
const Resource_1 = __importDefault(require("../Resource"));
const class_transformer_1 = require("class-transformer");
class Note extends Resource_1.default {
constructor() {
super(...arguments);
this.content = null;
this.created_at = null;
this.updated_at = null;
}
}
__decorate([
(0, class_transformer_1.Expose)(),
__metadata("design:type", String)
], Note.prototype, "uid", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
__metadata("design:type", Object)
], Note.prototype, "content", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
(0, class_validator_1.IsDate)(),
__metadata("design:type", Object)
], Note.prototype, "created_at", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
(0, class_validator_1.IsDate)(),
__metadata("design:type", Object)
], Note.prototype, "updated_at", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
(0, class_transformer_1.Type)(() => _1.default),
__metadata("design:type", _1.default)
], Note.prototype, "customer", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
(0, class_transformer_1.Type)(() => _1.OfficeFolder),
__metadata("design:type", _1.OfficeFolder)
], Note.prototype, "office_folder", void 0);
exports.default = Note;

View File

@ -2,16 +2,17 @@ import Office from "./Office";
import Resource from "../Resource";
import EFolderStatus from "./EFolderStatus";
import Customer from "./Customer";
import Note from "./Note";
export default class OfficeFolder extends Resource {
uid?: string;
folder_number: string;
name: string;
description: string | null;
archived_description: string | null;
notes: string | null;
status: EFolderStatus | string;
office?: Office;
customers?: Customer[];
created_at: Date | null;
updated_at: Date | null;
notes?: Note[];
}

View File

@ -18,12 +18,12 @@ const Resource_1 = __importDefault(require("../Resource"));
const class_transformer_1 = require("class-transformer");
const EFolderStatus_1 = __importDefault(require("./EFolderStatus"));
const Customer_1 = __importDefault(require("./Customer"));
const Note_1 = __importDefault(require("./Note"));
class OfficeFolder extends Resource_1.default {
constructor() {
super(...arguments);
this.description = null;
this.archived_description = null;
this.notes = null;
this.status = EFolderStatus_1.default.LIVE;
this.created_at = null;
this.updated_at = null;
@ -49,10 +49,6 @@ __decorate([
(0, class_transformer_1.Expose)(),
__metadata("design:type", Object)
], OfficeFolder.prototype, "archived_description", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
__metadata("design:type", Object)
], OfficeFolder.prototype, "notes", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
__metadata("design:type", String)
@ -77,4 +73,9 @@ __decorate([
(0, class_validator_1.IsDate)(),
__metadata("design:type", Object)
], OfficeFolder.prototype, "updated_at", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
(0, class_transformer_1.Type)(() => Note_1.default),
__metadata("design:type", Array)
], OfficeFolder.prototype, "notes", void 0);
exports.default = OfficeFolder;

View File

@ -4,6 +4,7 @@ import Resource from "../Resource";
import { Exclude, Expose, Type } from "class-transformer";
import TotpCodes from "./TotpCodes";
import Office from "./Office";
import Note from "./Note";
export default class Customer extends Resource {
@Expose()
@ -42,6 +43,10 @@ export default class Customer extends Resource {
@Expose()
@Type(() => Office)
public office?: Office;
@Expose()
@Type(() => Note)
public notes?: Note[];
}
export enum ECustomerStatus {

28
src/Customer/Note.ts Normal file
View File

@ -0,0 +1,28 @@
import { IsDate } from "class-validator";
import Customer, { OfficeFolder } from ".";
import Resource from "../Resource";
import { Expose, Type } from "class-transformer";
export default class Note extends Resource {
@Expose()
public uid?: string;
@Expose()
public content: string | null = null;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => Customer)
public customer?: Customer;
@Expose()
@Type(() => OfficeFolder)
public office_folder?: OfficeFolder;
}

View File

@ -4,6 +4,7 @@ import Resource from "../Resource";
import { Expose, Type } from "class-transformer";
import EFolderStatus from "./EFolderStatus";
import Customer from "./Customer";
import Note from "./Note";
export default class OfficeFolder extends Resource {
@Expose()
@ -21,9 +22,6 @@ export default class OfficeFolder extends Resource {
@Expose()
public archived_description: string | null = null;
@Expose()
public notes: string | null = null;
@Expose()
public status: EFolderStatus | string = EFolderStatus.LIVE;
@ -42,4 +40,8 @@ export default class OfficeFolder extends Resource {
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => Note)
public notes?: Note[];
}