teamdigitale/digital-citizenship-functions

View on GitHub
docs/entities.svg

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="449px" preserveAspectRatio="none" style="width:578px;height:449px;" version="1.1" viewBox="0 0 578 449" width="578px" zoomAndPan="magnify"><defs><filter height="300%" id="f9a49ejn6juel" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--class DocumentDbModel--><rect fill="#F8F8F8" filter="url(#f9a49ejn6juel)" height="48" id="DocumentDbModel" style="stroke: #383838; stroke-width: 1.5;" width="150" x="177" y="27"/><ellipse cx="192" cy="43" fill="#CDCDCD" rx="11" ry="11" style="stroke: #383838; stroke-width: 1.0;"/><path d="M193.5781,44.8125 L189.5313,44.8125 L189.1406,45.7969 L189.5313,45.7969 C189.9844,45.7969 190.125,45.8281 190.2969,45.9531 C190.5156,46.125 190.6406,46.375 190.6406,46.6563 C190.6406,46.9375 190.5,47.2344 190.2344,47.375 C190.1094,47.4688 189.8906,47.5 189.5313,47.5 L187.2656,47.5 C186.5156,47.5 186.1406,47.2188 186.1406,46.6563 C186.1406,46.3594 186.2969,46.0781 186.5469,45.9219 C186.7031,45.8125 186.8594,45.7969 187.2813,45.7969 L189.9219,39.2813 L188.8438,39.2813 C188.4063,39.2813 188.2344,39.25 188.0625,39.1406 C187.8438,38.9688 187.7031,38.7188 187.7031,38.4375 C187.7031,38.1563 187.8594,37.875 188.1094,37.7031 C188.2656,37.6094 188.3906,37.5938 188.8438,37.5938 L192.5156,37.5938 L195.9063,45.7969 C196.375,45.7969 196.5313,45.8281 196.7031,45.9688 C196.9219,46.125 197.0625,46.375 197.0625,46.6563 C197.0625,46.9375 196.9063,47.2344 196.6563,47.375 C196.5156,47.4688 196.2969,47.5 195.9375,47.5 L193.5781,47.5 C193.1563,47.5 192.9531,47.4531 192.8125,47.3281 C192.5938,47.1719 192.4531,46.9219 192.4531,46.6563 C192.4531,46.3594 192.6094,46.0781 192.8594,45.9219 C193.0156,45.8125 193.125,45.7969 193.5781,45.7969 L193.9688,45.7969 Z M192.875,43.1094 L191.5469,39.8438 L190.2031,43.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="118" x="206" y="47.1543">DocumentDbModel</text><line style="stroke: #383838; stroke-width: 1.5;" x1="178" x2="326" y1="59" y2="59"/><line style="stroke: #383838; stroke-width: 1.5;" x1="178" x2="326" y1="67" y2="67"/><!--class DocumentDbVersionedModel--><rect fill="#F8F8F8" filter="url(#f9a49ejn6juel)" height="48" id="DocumentDbVersionedModel" style="stroke: #383838; stroke-width: 1.5;" width="212" x="355" y="192.5"/><ellipse cx="370" cy="208.5" fill="#CDCDCD" rx="11" ry="11" style="stroke: #383838; stroke-width: 1.0;"/><path d="M371.5781,210.3125 L367.5313,210.3125 L367.1406,211.2969 L367.5313,211.2969 C367.9844,211.2969 368.125,211.3281 368.2969,211.4531 C368.5156,211.625 368.6406,211.875 368.6406,212.1563 C368.6406,212.4375 368.5,212.7344 368.2344,212.875 C368.1094,212.9688 367.8906,213 367.5313,213 L365.2656,213 C364.5156,213 364.1406,212.7188 364.1406,212.1563 C364.1406,211.8594 364.2969,211.5781 364.5469,211.4219 C364.7031,211.3125 364.8594,211.2969 365.2813,211.2969 L367.9219,204.7813 L366.8438,204.7813 C366.4063,204.7813 366.2344,204.75 366.0625,204.6406 C365.8438,204.4688 365.7031,204.2188 365.7031,203.9375 C365.7031,203.6563 365.8594,203.375 366.1094,203.2031 C366.2656,203.1094 366.3906,203.0938 366.8438,203.0938 L370.5156,203.0938 L373.9063,211.2969 C374.375,211.2969 374.5313,211.3281 374.7031,211.4688 C374.9219,211.625 375.0625,211.875 375.0625,212.1563 C375.0625,212.4375 374.9063,212.7344 374.6563,212.875 C374.5156,212.9688 374.2969,213 373.9375,213 L371.5781,213 C371.1563,213 370.9531,212.9531 370.8125,212.8281 C370.5938,212.6719 370.4531,212.4219 370.4531,212.1563 C370.4531,211.8594 370.6094,211.5781 370.8594,211.4219 C371.0156,211.3125 371.125,211.2969 371.5781,211.2969 L371.9688,211.2969 Z M370.875,208.6094 L369.5469,205.3438 L368.2031,208.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="180" x="384" y="212.6543">DocumentDbVersionedModel</text><line style="stroke: #383838; stroke-width: 1.5;" x1="356" x2="566" y1="224.5" y2="224.5"/><line style="stroke: #383838; stroke-width: 1.5;" x1="356" x2="566" y1="232.5" y2="232.5"/><!--class Message--><rect fill="#F8F8F8" filter="url(#f9a49ejn6juel)" height="124.8281" id="Message" style="stroke: #383838; stroke-width: 1.5;" width="146" x="174" y="154"/><ellipse cx="215.1" cy="170" fill="#C2C2C2" rx="11" ry="11" style="stroke: #383838; stroke-width: 1.0;"/><path d="M217.4438,165.6719 L217.6156,165.75 C217.8344,165.4375 218.0375,165.3438 218.3344,165.3438 C218.6313,165.3438 218.9125,165.4844 219.0688,165.75 C219.1625,165.9063 219.1781,166.0313 219.1781,166.4688 L219.1781,167.8906 C219.1781,168.3125 219.1469,168.5 219.0375,168.6563 C218.8656,168.875 218.6,169.0156 218.3344,169.0156 C218.1156,169.0156 217.8813,168.9063 217.7406,168.7656 C217.6,168.6406 217.5688,168.5156 217.5063,168.1094 C217.4125,167.7031 217.2406,167.4844 216.7563,167.2031 C216.2875,166.9531 215.6781,166.7969 215.1,166.7969 C213.3656,166.7969 212.1156,168.1094 212.1156,169.8906 L212.1156,170.9844 C212.1156,172.6875 213.4125,173.7813 215.4594,173.7813 C216.225,173.7813 216.9125,173.6563 217.3344,173.3906 C217.5219,173.2969 217.5219,173.2969 217.975,172.8125 C218.1625,172.625 218.3656,172.5469 218.5844,172.5469 C219.0531,172.5469 219.4438,172.9375 219.4438,173.3906 C219.4438,173.7813 219.1156,174.2344 218.5375,174.6406 C217.7875,175.1875 216.6313,175.4844 215.4125,175.4844 C212.5219,175.4844 210.4125,173.5938 210.4125,171.0156 L210.4125,169.8906 C210.4125,167.1719 212.4125,165.0938 215.0375,165.0938 C215.9125,165.0938 216.5063,165.2344 217.4438,165.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="56" x="234.9" y="174.1543">Message</text><line style="stroke: #383838; stroke-width: 1.5;" x1="175" x2="319" y1="186" y2="186"/><ellipse cx="185" cy="197.9023" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="194" y="200.2104">id uuid</text><ellipse cx="185" cy="210.707" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="194" y="213.0151">senderServiceId uuid</text><ellipse cx="185" cy="223.5117" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="194" y="225.8198">senderUserId uuid</text><ellipse cx="185" cy="236.3164" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="194" y="238.6245">fiscalCode string</text><ellipse cx="185" cy="249.1211" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="194" y="251.4292">subject string</text><ellipse cx="185" cy="261.9258" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="79" x="194" y="264.2339">content string</text><line style="stroke: #383838; stroke-width: 1.5;" x1="175" x2="319" y1="270.8281" y2="270.8281"/><!--class Notification--><rect fill="#F8F8F8" filter="url(#f9a49ejn6juel)" height="99.2188" id="Notification" style="stroke: #383838; stroke-width: 1.5;" width="122" x="17" y="167"/><ellipse cx="40.55" cy="183" fill="#C2C2C2" rx="11" ry="11" style="stroke: #383838; stroke-width: 1.0;"/><path d="M42.8938,178.6719 L43.0656,178.75 C43.2844,178.4375 43.4875,178.3438 43.7844,178.3438 C44.0813,178.3438 44.3625,178.4844 44.5188,178.75 C44.6125,178.9063 44.6281,179.0313 44.6281,179.4688 L44.6281,180.8906 C44.6281,181.3125 44.5969,181.5 44.4875,181.6563 C44.3156,181.875 44.05,182.0156 43.7844,182.0156 C43.5656,182.0156 43.3313,181.9063 43.1906,181.7656 C43.05,181.6406 43.0188,181.5156 42.9563,181.1094 C42.8625,180.7031 42.6906,180.4844 42.2063,180.2031 C41.7375,179.9531 41.1281,179.7969 40.55,179.7969 C38.8156,179.7969 37.5656,181.1094 37.5656,182.8906 L37.5656,183.9844 C37.5656,185.6875 38.8625,186.7813 40.9094,186.7813 C41.675,186.7813 42.3625,186.6563 42.7844,186.3906 C42.9719,186.2969 42.9719,186.2969 43.425,185.8125 C43.6125,185.625 43.8156,185.5469 44.0344,185.5469 C44.5031,185.5469 44.8938,185.9375 44.8938,186.3906 C44.8938,186.7813 44.5656,187.2344 43.9875,187.6406 C43.2375,188.1875 42.0813,188.4844 40.8625,188.4844 C37.9719,188.4844 35.8625,186.5938 35.8625,184.0156 L35.8625,182.8906 C35.8625,180.1719 37.8625,178.0938 40.4875,178.0938 C41.3625,178.0938 41.9563,178.2344 42.8938,178.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="56.45" y="187.1543">Notification</text><line style="stroke: #383838; stroke-width: 1.5;" x1="18" x2="138" y1="199" y2="199"/><ellipse cx="28" cy="210.9023" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="37" y="213.2104">id uuid</text><ellipse cx="28" cy="223.707" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="37" y="226.0151">messageId uuid</text><ellipse cx="28" cy="236.5117" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="37" y="238.8198">fiscalCode string</text><ellipse cx="28" cy="249.3164" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="37" y="251.6245">status string</text><line style="stroke: #383838; stroke-width: 1.5;" x1="18" x2="138" y1="258.2188" y2="258.2188"/><!--class EmailNotification--><rect fill="#F8F8F8" filter="url(#f9a49ejn6juel)" height="86.4141" id="EmailNotification" style="stroke: #383838; stroke-width: 1.5;" width="136" x="6" y="8"/><ellipse cx="21" cy="24" fill="#C2C2C2" rx="11" ry="11" style="stroke: #383838; stroke-width: 1.0;"/><path d="M23.3438,19.6719 L23.5156,19.75 C23.7344,19.4375 23.9375,19.3438 24.2344,19.3438 C24.5313,19.3438 24.8125,19.4844 24.9688,19.75 C25.0625,19.9063 25.0781,20.0313 25.0781,20.4688 L25.0781,21.8906 C25.0781,22.3125 25.0469,22.5 24.9375,22.6563 C24.7656,22.875 24.5,23.0156 24.2344,23.0156 C24.0156,23.0156 23.7813,22.9063 23.6406,22.7656 C23.5,22.6406 23.4688,22.5156 23.4063,22.1094 C23.3125,21.7031 23.1406,21.4844 22.6563,21.2031 C22.1875,20.9531 21.5781,20.7969 21,20.7969 C19.2656,20.7969 18.0156,22.1094 18.0156,23.8906 L18.0156,24.9844 C18.0156,26.6875 19.3125,27.7813 21.3594,27.7813 C22.125,27.7813 22.8125,27.6563 23.2344,27.3906 C23.4219,27.2969 23.4219,27.2969 23.875,26.8125 C24.0625,26.625 24.2656,26.5469 24.4844,26.5469 C24.9531,26.5469 25.3438,26.9375 25.3438,27.3906 C25.3438,27.7813 25.0156,28.2344 24.4375,28.6406 C23.6875,29.1875 22.5313,29.4844 21.3125,29.4844 C18.4219,29.4844 16.3125,27.5938 16.3125,25.0156 L16.3125,23.8906 C16.3125,21.1719 18.3125,19.0938 20.9375,19.0938 C21.8125,19.0938 22.4063,19.2344 23.3438,19.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="35" y="28.1543">EmailNotification</text><line style="stroke: #383838; stroke-width: 1.5;" x1="7" x2="141" y1="40" y2="40"/><ellipse cx="17" cy="51.9023" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="26" y="54.2104">id uuid</text><ellipse cx="17" cy="64.707" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="26" y="67.0151">messageId uuid</text><ellipse cx="17" cy="77.5117" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="26" y="79.8198">fiscalCode string</text><line style="stroke: #383838; stroke-width: 1.5;" x1="7" x2="141" y1="86.4141" y2="86.4141"/><!--class Service--><rect fill="#F8F8F8" filter="url(#f9a49ejn6juel)" height="99.2188" id="Service" style="stroke: #383838; stroke-width: 1.5;" width="199" x="156.5" y="339"/><ellipse cx="229.25" cy="355" fill="#C2C2C2" rx="11" ry="11" style="stroke: #383838; stroke-width: 1.0;"/><path d="M231.5938,350.6719 L231.7656,350.75 C231.9844,350.4375 232.1875,350.3438 232.4844,350.3438 C232.7813,350.3438 233.0625,350.4844 233.2188,350.75 C233.3125,350.9063 233.3281,351.0313 233.3281,351.4688 L233.3281,352.8906 C233.3281,353.3125 233.2969,353.5 233.1875,353.6563 C233.0156,353.875 232.75,354.0156 232.4844,354.0156 C232.2656,354.0156 232.0313,353.9063 231.8906,353.7656 C231.75,353.6406 231.7188,353.5156 231.6563,353.1094 C231.5625,352.7031 231.3906,352.4844 230.9063,352.2031 C230.4375,351.9531 229.8281,351.7969 229.25,351.7969 C227.5156,351.7969 226.2656,353.1094 226.2656,354.8906 L226.2656,355.9844 C226.2656,357.6875 227.5625,358.7813 229.6094,358.7813 C230.375,358.7813 231.0625,358.6563 231.4844,358.3906 C231.6719,358.2969 231.6719,358.2969 232.125,357.8125 C232.3125,357.625 232.5156,357.5469 232.7344,357.5469 C233.2031,357.5469 233.5938,357.9375 233.5938,358.3906 C233.5938,358.7813 233.2656,359.2344 232.6875,359.6406 C231.9375,360.1875 230.7813,360.4844 229.5625,360.4844 C226.6719,360.4844 224.5625,358.5938 224.5625,356.0156 L224.5625,354.8906 C224.5625,352.1719 226.5625,350.0938 229.1875,350.0938 C230.0625,350.0938 230.6563,350.2344 231.5938,350.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="249.75" y="359.1543">Service</text><line style="stroke: #383838; stroke-width: 1.5;" x1="157.5" x2="354.5" y1="371" y2="371"/><ellipse cx="167.5" cy="382.9023" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="176.5" y="385.2104">id uuid</text><ellipse cx="167.5" cy="395.707" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="176.5" y="398.0151">organizationName string</text><ellipse cx="167.5" cy="408.5117" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="176.5" y="410.8198">organizationDepartment string</text><ellipse cx="167.5" cy="421.3164" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="111" x="176.5" y="423.6245">serviceName string</text><line style="stroke: #383838; stroke-width: 1.5;" x1="157.5" x2="354.5" y1="430.2188" y2="430.2188"/><!--class Profile--><rect fill="#F8F8F8" filter="url(#f9a49ejn6juel)" height="73.6094" id="Profile" style="stroke: #383838; stroke-width: 1.5;" width="122" x="400" y="351.5"/><ellipse cx="437.95" cy="367.5" fill="#C2C2C2" rx="11" ry="11" style="stroke: #383838; stroke-width: 1.0;"/><path d="M440.2938,363.1719 L440.4656,363.25 C440.6844,362.9375 440.8875,362.8438 441.1844,362.8438 C441.4813,362.8438 441.7625,362.9844 441.9188,363.25 C442.0125,363.4063 442.0281,363.5313 442.0281,363.9688 L442.0281,365.3906 C442.0281,365.8125 441.9969,366 441.8875,366.1563 C441.7156,366.375 441.45,366.5156 441.1844,366.5156 C440.9656,366.5156 440.7313,366.4063 440.5906,366.2656 C440.45,366.1406 440.4188,366.0156 440.3563,365.6094 C440.2625,365.2031 440.0906,364.9844 439.6063,364.7031 C439.1375,364.4531 438.5281,364.2969 437.95,364.2969 C436.2156,364.2969 434.9656,365.6094 434.9656,367.3906 L434.9656,368.4844 C434.9656,370.1875 436.2625,371.2813 438.3094,371.2813 C439.075,371.2813 439.7625,371.1563 440.1844,370.8906 C440.3719,370.7969 440.3719,370.7969 440.825,370.3125 C441.0125,370.125 441.2156,370.0469 441.4344,370.0469 C441.9031,370.0469 442.2938,370.4375 442.2938,370.8906 C442.2938,371.2813 441.9656,371.7344 441.3875,372.1406 C440.6375,372.6875 439.4813,372.9844 438.2625,372.9844 C435.3719,372.9844 433.2625,371.0938 433.2625,368.5156 L433.2625,367.3906 C433.2625,364.6719 435.2625,362.5938 437.8875,362.5938 C438.7625,362.5938 439.3563,362.7344 440.2938,363.1719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="457.05" y="371.6543">Profile</text><line style="stroke: #383838; stroke-width: 1.5;" x1="401" x2="521" y1="383.5" y2="383.5"/><ellipse cx="411" cy="395.4023" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="420" y="397.7104">fiscalCode string</text><ellipse cx="411" cy="408.207" fill="none" rx="3" ry="3" style="stroke: #545454; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="68" x="420" y="410.5151">Email string</text><line style="stroke: #383838; stroke-width: 1.5;" x1="401" x2="521" y1="417.1094" y2="417.1094"/><!--link DocumentDbModel to DocumentDbVersionedModel--><path d="M297.438,87.546 C338.054,119.32 396.394,164.959 431.311,192.274 " fill="none" id="DocumentDbModel-DocumentDbVersionedModel" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="none" points="292.941,92.915,281.501,75.079,301.567,81.889,292.941,92.915" style="stroke: #383838; stroke-width: 1.0;"/><!--link DocumentDbModel to Message--><path d="M250.674,95.345 C250.127,113.239 249.483,134.31 248.888,153.768 " fill="none" id="DocumentDbModel-Message" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="none" points="243.686,94.855,251.294,75.079,257.68,95.283,243.686,94.855" style="stroke: #383838; stroke-width: 1.0;"/><!--link DocumentDbModel to Notification--><path d="M212.845,88.792 C188.265,111.889 156.289,141.935 129.645,166.972 " fill="none" id="DocumentDbModel-Notification" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="none" points="208.071,83.673,227.439,75.079,217.657,93.876,208.071,83.673" style="stroke: #383838; stroke-width: 1.0;"/><!--link EmailNotification to Notification--><path d="M75.3547,107.374 C75.7199,122.3 76.1172,138.54 76.4902,153.788 " fill="none" id="EmailNotification-Notification" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="76.8104,166.875,80.6628,160.7792,76.5177,154.8786,72.6652,160.9744,76.8104,166.875" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="75.0301,94.105,71.2518,103.2003,75.1526,99.1035,79.2494,103.0043,75.0301,94.105" style="stroke: #383838; stroke-width: 1.0;"/><line style="stroke: #383838; stroke-width: 1.0;" x1="75.1526" x2="75.3482" y1="99.1035" y2="107.1015"/><!--link DocumentDbVersionedModel to Service--><path d="M417.474,253.595 C387.583,278.382 347.552,311.579 314.826,338.7172 " fill="none" id="DocumentDbVersionedModel-Service" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="none" points="413.062,248.16,432.925,240.781,421.999,258.936,413.062,248.16" style="stroke: #383838; stroke-width: 1.0;"/><!--link DocumentDbVersionedModel to Profile--><path d="M461,260.793 C461,288.849 461,324.965 461,351.4555 " fill="none" id="DocumentDbVersionedModel-Profile" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="none" points="454,260.781,461,240.781,468,260.781,454,260.781" style="stroke: #383838; stroke-width: 1.0;"/><!--link Message to Service--><path d="M250.275,279.355 C251.067,294.328 251.915,310.338 252.708,325.326 " fill="none" id="Message-Service" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="253.419,338.7439,257.0963,332.5409,252.7847,326.7607,249.1074,332.9637,253.419,338.7439" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="36" x="212.7565" y="298.693">many</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="244.5347" y="328.1113">1</text><!--link Notification to Message--><path d="M139.064,216.5 C146.177,216.5 153.29,216.5 160.403,216.5 " fill="none" id="Notification-Message" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="173.638,216.5,167.638,212.5,161.638,216.5,167.638,220.5,173.638,216.5" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="146.9327" y="212.6476">?</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="158.0227" y="212.8436">1</text><!--
@startuml
skinparam monochrome true

abstract class DocumentDbModel

abstract class DocumentDbVersionedModel

class Message {
  +id uuid
  +senderServiceId uuid
  +senderUserId uuid
  +fiscalCode string
  +subject string
  +content string
}

class Notification {
  +id uuid
  +messageId uuid
  +fiscalCode string
  +status string
}

class EmailNotification {
  +id uuid
  +messageId uuid
  +fiscalCode string
}

class Service {
  +id uuid
  +organizationName string
  +organizationDepartment string
  +serviceName string
}

class Profile {
  +fiscalCode string
  +Email string
}

DocumentDbModel <|- - DocumentDbVersionedModel

DocumentDbModel <|- - Message

DocumentDbModel <|- - Notification

EmailNotification <- -o Notification

DocumentDbVersionedModel <|- - Service

DocumentDbVersionedModel <|- - Profile

Service "1" o-left- "many" Message
Message "1" o-left- "?" Notification
@enduml

PlantUML version 1.2018.00(Thu Jan 04 19:42:56 UTC 2018)
(GPL source distribution)
Java Runtime: Java(TM) SE Runtime Environment
JVM: Java HotSpot(TM) 64-Bit Server VM
Java Version: 1.7.0_25-b15
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>