dev.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. const { dict } = require('@alancnet/material-framework/lib/util')
  2. const config = require('../../../config')
  3. const users = async (db) => {
  4. const C = require('../../controllers')
  5. const { User, StaffMember, Terminal, Role, Client } = db
  6. const DEVELOPER = await db.upsert(Role, {
  7. name: 'Developer',
  8. key: 'DEV',
  9. permissions: C.auth.permissions.permissions.join(',')
  10. })
  11. const terminals = dict(await Terminal.findAll())
  12. const roles = dict(await Role.findAll({paranoid: !config.hiddenRoles}))
  13. const [alan] = await db.fill(User,
  14. [
  15. {
  16. name: 'Alan Colon',
  17. email: 'alancnet@gmail.com',
  18. password: 'hello',
  19. roles: [
  20. 'DEV'
  21. ]
  22. }
  23. ],
  24. ['email']
  25. )
  26. const [ adam, bear, charlie, dustin, evelynn, frank, gary, harry ] =
  27. await db.fill(StaffMember,
  28. [
  29. {
  30. name: 'Adam Alvarez',
  31. terminal: 'LAX',
  32. laborCategory: 'WAREHOUSE',
  33. wage: 15
  34. },
  35. {
  36. name: 'Bear Biggs',
  37. terminal: 'LAX',
  38. laborCategory: 'ADMIN',
  39. wage: 15
  40. },
  41. {
  42. name: 'Charlie Chavez',
  43. terminal: 'LAX',
  44. laborCategory: 'OPS',
  45. wage: 15
  46. },
  47. {
  48. name: 'Dustin Dearly',
  49. terminal: 'LAX',
  50. laborCategory: 'DELIVERY',
  51. wage: 15
  52. },
  53. {
  54. name: 'Evelynn Ebert',
  55. terminal: 'LAS',
  56. laborCategory: 'WAREHOUSE',
  57. wage: 15
  58. },
  59. {
  60. name: 'Frank Fudgley',
  61. terminal: 'LAS',
  62. laborCategory: 'ADMIN',
  63. wage: 15
  64. },
  65. {
  66. name: 'Gary Gospel',
  67. terminal: 'LAS',
  68. laborCategory: 'OPS',
  69. wage: 15
  70. },
  71. {
  72. name: 'Harry Havenworth',
  73. terminal: 'LAS',
  74. laborCategory: 'DELIVERY',
  75. wage: 15
  76. },
  77. ],
  78. ['name']
  79. )
  80. const laxLabor = {
  81. workweek: {},
  82. workdays: [
  83. {
  84. labor: [
  85. { staffMemberId: adam.id, hours: null },
  86. { staffMemberId: bear.id, hours: null },
  87. { staffMemberId: charlie.id, hours: null },
  88. { staffMemberId: dustin.id, hours: null }
  89. ]
  90. },
  91. {
  92. labor: [
  93. { staffMemberId: adam.id, hours: 5 },
  94. { staffMemberId: bear.id, hours: 10 },
  95. { staffMemberId: charlie.id, hours: 15 },
  96. { staffMemberId: dustin.id, hours: 20 }
  97. ]
  98. },
  99. {
  100. labor: [
  101. { staffMemberId: adam.id, hours: 5 },
  102. { staffMemberId: bear.id, hours: 10 },
  103. { staffMemberId: charlie.id, hours: 15 },
  104. { staffMemberId: dustin.id, hours: 20 }
  105. ]
  106. },
  107. {
  108. labor: [
  109. { staffMemberId: adam.id, hours: 5 },
  110. { staffMemberId: bear.id, hours: 10 },
  111. { staffMemberId: charlie.id, hours: 15 },
  112. { staffMemberId: dustin.id, hours: 20 }
  113. ]
  114. },
  115. {
  116. labor: [
  117. { staffMemberId: adam.id, hours: 5 },
  118. { staffMemberId: bear.id, hours: 10 },
  119. { staffMemberId: charlie.id, hours: 15 },
  120. { staffMemberId: dustin.id, hours: 20 }
  121. ]
  122. },
  123. {
  124. labor: [
  125. { staffMemberId: adam.id, hours: 5 },
  126. { staffMemberId: bear.id, hours: 10 },
  127. { staffMemberId: charlie.id, hours: 15 },
  128. { staffMemberId: dustin.id, hours: 20 }
  129. ]
  130. },
  131. {
  132. labor: [
  133. { staffMemberId: adam.id, hours: null },
  134. { staffMemberId: bear.id, hours: null },
  135. { staffMemberId: charlie.id, hours: null },
  136. { staffMemberId: dustin.id, hours: null }
  137. ]
  138. }
  139. ]
  140. }
  141. const lasLabor = {
  142. workweek: {},
  143. workdays: [
  144. {
  145. labor: [
  146. { staffMemberId: evelynn.id, hours: null },
  147. { staffMemberId: frank.id, hours: null },
  148. { staffMemberId: gary.id, hours: null },
  149. { staffMemberId: harry.id, hours: null }
  150. ]
  151. },
  152. {
  153. labor: [
  154. { staffMemberId: evelynn.id, hours: 5 },
  155. { staffMemberId: frank.id, hours: 10 },
  156. { staffMemberId: gary.id, hours: 15 },
  157. { staffMemberId: harry.id, hours: 20 }
  158. ]
  159. },
  160. {
  161. labor: [
  162. { staffMemberId: evelynn.id, hours: 5 },
  163. { staffMemberId: frank.id, hours: 10 },
  164. { staffMemberId: gary.id, hours: 15 },
  165. { staffMemberId: harry.id, hours: 20 }
  166. ]
  167. },
  168. {
  169. labor: [
  170. { staffMemberId: evelynn.id, hours: 5 },
  171. { staffMemberId: frank.id, hours: 10 },
  172. { staffMemberId: gary.id, hours: 15 },
  173. { staffMemberId: harry.id, hours: 20 }
  174. ]
  175. },
  176. {
  177. labor: [
  178. { staffMemberId: evelynn.id, hours: 5 },
  179. { staffMemberId: frank.id, hours: 10 },
  180. { staffMemberId: gary.id, hours: 15 },
  181. { staffMemberId: harry.id, hours: 20 }
  182. ]
  183. },
  184. {
  185. labor: [
  186. { staffMemberId: evelynn.id, hours: 5 },
  187. { staffMemberId: frank.id, hours: 10 },
  188. { staffMemberId: gary.id, hours: 15 },
  189. { staffMemberId: harry.id, hours: 20 }
  190. ]
  191. },
  192. {
  193. labor: [
  194. { staffMemberId: evelynn.id, hours: null },
  195. { staffMemberId: frank.id, hours: null },
  196. { staffMemberId: gary.id, hours: null },
  197. { staffMemberId: harry.id, hours: null }
  198. ]
  199. }
  200. ]
  201. }
  202. const [ lax, las ] = await db.fill(Client, [
  203. {
  204. name: 'Los Angeles Total',
  205. key: 'LAX',
  206. terminal: 'LAX'
  207. },
  208. {
  209. name: 'Las Vegas Total',
  210. key: 'LAS',
  211. terminal: 'LAS'
  212. }
  213. ])
  214. const lasServices = {
  215. workdays: [
  216. { services: [ { clientId: las.id, inbound: null } ] },
  217. { services: [ { clientId: las.id, inbound: 1000 } ] },
  218. { services: [ { clientId: las.id, inbound: 1000 } ] },
  219. { services: [ { clientId: las.id, inbound: 1000 } ] },
  220. { services: [ { clientId: las.id, inbound: 1000 } ] },
  221. { services: [ { clientId: las.id, inbound: 1000 } ] },
  222. { services: [ { clientId: las.id, inbound: null } ] }
  223. ]
  224. }
  225. const laxServices = {
  226. workdays: [
  227. { services: [ { clientId: lax.id, inbound: null } ] },
  228. { services: [ { clientId: lax.id, inbound: 1000 } ] },
  229. { services: [ { clientId: lax.id, inbound: 1000 } ] },
  230. { services: [ { clientId: lax.id, inbound: 1000 } ] },
  231. { services: [ { clientId: lax.id, inbound: 1000 } ] },
  232. { services: [ { clientId: lax.id, inbound: 1000 } ] },
  233. { services: [ { clientId: lax.id, inbound: null } ] }
  234. ]
  235. }
  236. for (let week of ['2018-07-08', '2018-07-01', '2018-06-24']) {
  237. await C.labor.patch({
  238. body: lasLabor,
  239. params: {
  240. terminal: 'LAS',
  241. week
  242. },
  243. }, {
  244. status() { return this },
  245. end() { return this }
  246. })
  247. await C.labor.patch({
  248. body: laxLabor,
  249. params: {
  250. terminal: 'LAX',
  251. week
  252. },
  253. }, {
  254. status() { return this },
  255. end() { return this }
  256. })
  257. await C.services.patch({
  258. body: lasServices,
  259. params: {
  260. terminal: 'LAS',
  261. week
  262. },
  263. }, {
  264. status() { return this },
  265. end() { return this }
  266. })
  267. await C.services.patch({
  268. body: laxServices,
  269. params: {
  270. terminal: 'LAX',
  271. week
  272. },
  273. }, {
  274. status() { return this },
  275. end() { return this }
  276. })
  277. }
  278. console.log('done')
  279. }
  280. const seed = async (db) => {
  281. await users(db)
  282. }
  283. module.exports = Object.assign(seed, {
  284. seed,
  285. users
  286. })